Ich habe ein Objekt, das ich mit verschiedenen Schlüsseln adressieren möchte, ohne das Objekt selbst tatsächlich zu kopieren (z. B. SymLink auf Linux). Bietet Amazon S3 so etwas?Unterstützt amazon s3 symlink?
Antwort
S3 unterstützt nicht den Begriff eines Symlinks, bei dem ein Objektschlüssel als Alias für einen anderen Objektschlüssel behandelt wird. (Sie haben das wahrscheinlich schon einmal gehört: S3 ist kein Dateisystem. Es ist ein Objektspeicher).
Wenn Sie die statischen Website-Hosting-Funktion verwenden, gibt es eine partielle Emulation dieser Fähigkeit, mit dem Objekt-Level-Umleitungen:
http://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
Dies bewirkt, dass die Anforderung von „Objekt-a“ zu sein Begrüßt mit einer 301 Moved Permanently
Antwort, mit der URL für "object-b" in der Location:
Header, die einen ähnlichen Zweck dient, aber ist natürlich immer noch ganz anders. Es funktioniert nur, wenn die Anfrage am Website-Endpunkt eingeht (nicht am REST-Endpunkt).
Wenn Sie einen Reverse-Proxy verwenden (haproxy, nginx, etc.) in EC2 eingehende Anfragen zu verarbeiten und sie an den Eimer weiterleiten, dann natürlich haben Sie die Möglichkeit, an der Proxy-Schicht der Anfrage URL-Rewriting vor der Weiterleitung an S3, so dass Sie den eingehenden Anfragepfad auf das übertragen können, was Sie für S3 benötigen. Wie praktisch das ist, hängt von Ihrer Anwendung und Motivation ab, aber dies ist eine der Strategien, die ich verwende, um zu ändern, wo in einem bestimmten Bucket ein Objekt im Vergleich zu dem, wo es tatsächlich gespeichert ist, erlaubt Pfade auf anderen Attributen neu zu schreiben in der Anfrage.
Ich hatte eine ähnliche Frage und brauchte eine Lösung, die ich unten beschreiben. Während S3 Symlinks nicht unterstützt, können Sie dies in einer Art und Weise mit der folgenden tun:
echo "https://s3.amazonaws.com/my.bucket.name/path/to/a/targetfile" > file
aws s3 cp file s3://my.bucket.name/file
wget $(curl https://s3.amazonaws.com/my.bucket.name/file)
Was dies tatsächlich tut, wird der Inhalt der Datei erhalten, die wirklich nur ein Zeiger auf die Zieldatei ist, dann Übergeben Sie das an wget (curl kann auch verwendet werden, um in eine Datei statt wget umzuleiten).
Dies ist wirklich nur eine Arbeit um, aber es ist kein echter Symlink, sondern eine kreative Lösung, um Symlinks zu simulieren.
- 1. Amazon S3 Architektur
- 2. Amazon S3-Berechtigungen
- 3. Git und Amazon S3
- 4. Amazon S3 Objekt Redirect
- 5. Android Amazon S3 Eimer
- 6. SignatureDoesNotMatch - Amazon S3 API
- 7. Amazon S3 Region Transfer?
- 8. Amazon S3 und Yii2
- 9. Ordneraktion Mit Amazon s3
- 10. Amazon S3 File Encryption
- 11. Amazon S3 URL Rewrite
- 12. Amazon S3 Auflistung "Verzeichnisse"
- 13. Amazon S3 copyObject Erlaubnis
- 14. Amazon S3 Download Authentifizierung
- 15. Amazon s3 und buckets
- 16. Amazon S3 Objektreplikation
- 17. PHP/Amazon S3: Abfragezeichenfolgenauthentifizierung
- 18. Amazon S3 Backup
- 19. Amazon S3 HTML-Titel
- 20. Amazon s3 Preise
- 21. Über Amazon S3
- 22. Amazon S3 CName Setup
- 23. Amazon S3 Cache-Audiodateien
- 24. Amazon S3. Maximale Objektgröße
- 25. Unterschied zwischen Amazon S3 und Amazon Rotverschiebung
- 26. Amazon S3 - x-amz-meta
- 27. Pure Javascript App + Amazon S3?
- 28. Browserbasierte Uploads zu Amazon S3?
- 29. Amazon S3 403 AccessDenied Fehler
- 30. Amazon S3-Downloads erfordern Schlüssel