Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Markieren von Amazon-S3-Objekten
Der Objektschlüssel (oder Schlüsselname) identifiziert das Objekt in einem Amazon-S3-Bucket eindeutig. Wenn Sie ein Objekt erstellen, geben Sie den Schlüsselnamen an. Wenn Sie in der Amazon-S3-Konsole
Der Name des Objektschlüssels besteht aus einer Folge von Unicode-Zeichen, die in UTF-8 kodiert sind, mit einer maximalen Länge von 1.024 Bytes oder etwa 1.024 lateinischen Zeichen. In einigen Ländern kann ein einzelnes Zeichen 2 Bytes für die Kodierung erfordern. Achten Sie bei der Benennung Ihrer Objekte auf Folgendes:
-
Bei den Objektschlüsselnamen muss die Groß- und Kleinschreibung beachtet werden.
-
Die Namen der Objektschlüssel enthalten alle Präfixe (in der Konsole als Ordner bezeichnet).
Development/Projects.xlsist beispielsweise der vollständige Objektschlüsselname des Objekts, dasProjects.xlssich innerhalb desDevelopmentPräfixes (oder Ordners) befindet. Das Präfix, das Trennzeichen (/) und der Name des Objekts sind in der 1.024-Byte-Begrenzung für den Objektschlüsselnamen enthalten. Weitere Informationen zu Präfixen und Ordnern finden Sie unter Auswählen von Objektschlüsselnamen. -
Bestimmte Zeichen erfordern möglicherweise eine besondere Behandlung, wenn sie in Objektschlüsselnamen verwendet werden. Weitere Informationen finden Sie unter Richtlinien für Objektschlüsselnamen.
Anmerkung
Objektschlüsselnamen mit dem Wert "soap" werden für virtual-hosted-style Anfragen nicht unterstützt. Für Werte von Objektschlüsselnamen, bei denen „"soap"“ verwendet wird, muss stattdessen eine URL im Pfadformat verwendet werden.
Auswählen von Objektschlüsselnamen
Das Amazon-S3-Datenmodell ist eine flache Struktur: Sie erstellen einen Bucket und der Bucket speichert Objekte. Es gibt keine Hierarchie von Unter-Buckets oder Unterordnern. Sie können jedoch mit den Schlüsselnamenpräfixen und Trennzeichen eine logische Hierarchie erschließen, wie in der Amazon-S3-Konsole. Die Amazon-S3-Konsole unterstützt ein Ordnerkonzept. Weitere Informationen zum Bearbeiten von Metadaten über die Amazon-S3-Konsole finden Sie unter Bearbeiten von Objektmetadaten in der Amazon-S3-Konsole.
Angenommen, Ihr Bucket (admin-created) enthält vier Objekte mit den folgenden Objektschlüsseln:
Development/Projects.xls
Finance/statement1.pdf
Private/taxdocument.pdf
s3-dg.pdf
Die Konsole verwendet die Schlüsselnamenpräfixe (Development/, Finance/ und Private/) und das Trennzeichen (/), um eine Ordnerstruktur wie dargestellt anzuzeigen. Der Schlüssel s3-dg.pdf enthält kein durch Schrägstrich begrenztes Präfix, so dass sein Objekt direkt auf der Stammebene des Buckets erscheint. Wenn Sie den Ordner Development/ öffnen, werden Sie darin das Objekt Projects.xlsx sehen.
Amazon S3 unterstützt Buckets und Objekt. Es gibt keine Hierarchie in Amazon S3. Durch die Verwendung von Präfixen und Trennzeichen in einem Objektschlüsselnamen AWS SDKs können die Amazon S3-Konsole und die Amazon S3-Konsole jedoch eine Hierarchie ableiten und das Konzept von Ordnern einführen.
Die Amazon-S3-Konsole implementiert die Ordnerobjekterstellung, indem sie ein Null-Byte-Objekt mit dem Wert des Ordners für Präfix und Trennzeichen als Schlüssel erstellt. Diese Ordnerobjekte werden nicht in der Konsole angezeigt. Ansonsten verhalten sie sich wie alle anderen Objekte und können über die REST-API, AWS CLI und angezeigt und AWS SDKs bearbeitet werden.
Richtlinien für Objektschlüsselnamen
Sie können in einem Objektschlüsselnamen jedes beliebige UTF-8-Zeichen verwenden. Die Verwendung bestimmter Zeichen in Schlüsselnamen kann jedoch bei manchen Anwendungen und Protokollen zu Problemen führen. Die folgenden Richtlinien helfen Ihnen dabei, die Einhaltung von DNS, websicheren Zeichen, XML-Parsern und anderen Richtlinien zu maximieren. APIs
Sichere Zeichen
Die folgenden Zeichensätze sind allgemein sicher für die Verwendung in Schlüsselnamen:
| Alphanumerische Zeichen |
|
| Sonderzeichen |
|
Nachfolgend finden Sie Beispiele für gültige Objektschlüsselnamen:
-
4my-organization -
my.great_photos-2014/jan/myvacation.jpg -
videos/2014/birthday/video1.wmv
Anmerkung
Wenn Sie die Amazon-S3-Konsole zum Herunterladen von Objekten verwenden, deren Schlüsselnamen mit einem Punkt enden (.), werden die Punkte aus den Enden der Schlüsselnamen der heruntergeladenen Objekte entfernt. Um Punkte am Ende von Schlüsselnamen in heruntergeladenen Objekten beizubehalten, müssen Sie die AWS Command Line Interface (AWS CLI) AWS SDKs, oder Amazon S3 S3-REST-API verwenden.
Darüber hinaus sollten Sie folgende Präfixbeschränkungen beachten:
-
Objekte mit dem Präfix von
./müssen mit der AWS CLI, oder REST-API hoch AWS SDKs - oder heruntergeladen werden. Sie können die Amazon-S3-Konsole nicht zum Hochladen dieser Objekte verwenden. -
Objektschlüssel, die relative Pfadelemente enthalten (z. B.
../), sind gültig, wenn bei der Analyse left-to-right die kumulative Anzahl relativer Pfadsegmente niemals die Anzahl der gefundenen nicht-relativen Pfadelemente übersteigt. Diese Regel gilt für alle Anfragen, die über die Amazon S3 S3-Konsole, die Amazon S3 S3-REST-API und gestellt AWS SDKs werden. AWS CLIBeispiel:
videos/2014/../../video1.wmvist gültig.videos/../../video1.wmvist ungültig.videos/../../2014/video1.wmvist ungültig.
Nur-Perioden-Pfadsegmente
Objektschlüssel, die Pfadsegmente (.oder..) enthalten, können zu unerwartetem Verhalten führen, wenn sie von Anwendungen oder Tools verarbeitet werden SDKs, die diese als relative Pfadreferenzen interpretieren.
Die folgenden Muster können Probleme verursachen:
-
folder/./file.txt– Enthält den aktuellen Verzeichnisverweis -
folder/../file.txt– Enthält den Verweis auf das übergeordnete Verzeichnis -
./file.txt– Beginnt mit der aktuellen Verzeichnisreferenz -
../file.txt– Beginnt mit der Referenz auf das übergeordnete Verzeichnis
Die folgenden Muster funktionieren normalerweise:
-
folder/.hidden/file.txt– Der Punkt ist Teil des Dateinamens und nicht eigenständig -
folder/..backup/file.txt– Punkte sind Teil des Dateinamens, nicht eigenständig
Wenn Anwendungen Objektschlüssel mit Nur-Perioden-Segmenten verarbeiten, kann es zu den folgenden Verhaltensauswirkungen kommen:
-
Normalisierung von Pfaden – Viele Systeme lösen
.- und..-Referenzen automatisch auf, wodurch sich der effektive Pfad möglicherweise ändert (beispielsweise wirdfolder/./file.txtzufolder/file.txt). -
Zugriffsprobleme – Anwendungen können Objekte aufgrund unterschiedlicher Pfadauflösungen möglicherweise nicht finden
-
Inkonsistentes Verhalten — Verschiedene Tools und SDKs möglicherweise unterschiedlicher Umgang mit diesen Mustern
Wichtig
Um diese Probleme zu vermeiden, empfehlen wir, Pfadsegmente, die nur aus Punkten bestehen, in Objektschlüsselnamen zu vermeiden. Verwenden Sie alternative Namenskonventionen für organisatorische Zwecke.
Zeichen, die möglicherweise eine Sonderverarbeitung benötigen
Die folgenden Zeichen in einem Schlüsselnamen erfordern möglicherweise eine zusätzliche Codebehandlung und müssen höchstwahrscheinlich URL-kodiert oder als HEX referenziert werden. Bei einigen dieser Zeichen handelt es sich um nicht druckbare Zeichen, die Ihr Browser möglicherweise nicht verarbeiten kann und die ebenfalls eine besondere Behandlung erfordern:
-
Und-Zeichen ()
& -
Dollarzeichen (
$) -
ASCII-Zeichenbereiche 00–1F hex (0–31 dezimal) und 7F (127 dezimal)
-
At-Symbol (
@) -
Gleichheitszeichen (
=) -
Semikolon ()
; -
Schrägstrich (
/) -
Doppelpunkt ()
: -
Pluszeichen (
+) -
Leerzeichen - In einigen Fällen können erhebliche Folgen von Leerzeichen verloren gehen (insbesondere mehrere Leerzeichen)
-
Komma ()
, -
Fragezeichen ()
?
Zeichen, die Sie vermeiden sollten
Es wird empfohlen, die folgenden Zeichen nicht in einem Schlüsselnamen zu verwenden, da die Behandlung von Sonderzeichen sehr komplex ist und nicht in allen Anwendungen einheitlich ist:
-
Backslash ()
\ -
Linke Klammer (
{) -
Nicht darstellbare ASCII-Zeichen (128-255 Dezimalzeichen)
-
Caret-Zeichen oder Zirkumflex (
^) -
Rechte Klammer (
}) -
Prozentuales Zeichen ()
% -
Grauer Akzent oder Backtick (
`) -
Rechte Klammer (
]) -
Anführungszeichen (
") -
Größer-als-Zeichen (
>) -
Linke Klammer (
[) -
Tilde ()
~ -
Kleiner-als-Zeichen (
<) -
Pfund-Zeichen (
#) -
Vertikale Stange oder Rohr (
|)
XML-bezogene Objektschlüssel-Beschränkungen
Gemäß dem XML-Standard für die end-of-line Verarbeitung
Im Folgenden finden Sie eine Liste solcher Sonderzeichen und ihrer entsprechenden XML-Entity-Codes:
Apostroph (
') muss durch'ersetzt werdenDas Anführungszeichen (
") muss durch"ersetzt werden.Das Ampersand (
&) muss durch&ersetzt werden.Das Zeichen "kleiner als" (
<) muss durch<ersetzt werden.Das Größer-als-Zeichen (
>) muss durch>ersetzt werden.Carriage Return (
\r) muss durch oder
ersetzt werdenDer Zeilenumbruch (
\n) muss durch oder
ersetzt werden.
Das folgende Beispiel veranschaulicht die Verwendung eines XML-Entitätscodes als Ersatz für eine Zeilenumschaltung. Diese DeleteObjects-Anforderung löscht ein Objekt mit dem key-Parameter /some/prefix/objectwith\rcarriagereturn (wobei \r die Zeilenumschaltung ist).
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Object> <Key>/some/prefix/objectwith carriagereturn</Key> </Object> </Delete>
Sortierschlüssel des Objekts
Amazon S3 sortiert Objektschlüssel, einschließlich Präfixe, lexikografisch nach ihren UTF-8-kodierten Byte-Werten.
ASCII-Zeichen werden in der folgenden Reihenfolge sortiert:
-
Sonderzeichen (z. B.
!,/) -
Großbuchstaben (A–Z)
-
Kleinbuchstaben (a–z)
Nicht-ASCII-Zeichen (z. B. é, 中 文) werden als Multibyte-UTF-8-Sequenzen codiert und werden aufgrund ihrer höheren Bytewerte in der Regel nach ASCII-Zeichen sortiert (z. B. 0xC3 für é, 0xE4 für 中).
Präfixe wie apple/, Apple/, éclair/, 中 文/ würden beispielsweise wie folgt sortiert:
1. Apple/ (beginnt mit 0x41)
2. apple/ (beginnt mit 0x61)
3. éclair/ (beginnt mit 0xC3 0xA9)
4. 中 文/ (beginnt mit 0xE4 0xB8 0xAD 0xE6 0x96 0x87)