Erstellen von Objektschlüsselnamen - Amazon Simple Storage Service

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.

Erstellen von Objektschlüsselnamen

Der Objektschlüssel (oder Schlüsselname) identifiziert das Objekt in einem Amazon-S3-Bucket eindeutig. Objekt-Metadaten bestehen aus Name/Wert-Paaren. Weitere Informationen zu Objekt-Metadaten erhalten Sie unter Arbeiten mit Objekt-Metadaten.

Wenn Sie ein Objekt erstellen, geben Sie den Schlüsselnamen an, der das Objekt in dem Bucket eindeutig identifiziert. Wenn Sie in der Amazon-S3-Konsole einen Bucket markieren, wird beispielsweise eine Liste der Objekte in Ihrem Bucket angezeigt. Diese Namen sind die Objektschlüssel. Der Objektschlüsselname ist eine Folge von Unicode-Zeichen mit einer Kodierung von UTF -8 und einer Länge von bis zu 1.024 Byte. Bei den Objektschlüsselnamen muss die Groß- und Kleinschreibung beachtet werden.

Anmerkung

Objektschlüsselnamen mit dem Wert „soap“ werden für virtual-hosted-style Anfragen nicht unterstützt. Für Objektschlüsselnamenwerte, bei denen „soap“ verwendet wird, URL muss stattdessen ein Pfadstil verwendet werden.

Das Amazon-S3-Datenmodell ist eine flache Struktur: Sie erstellen einen Bucket und der Bucket speichert Objekte. Es gibt keine Hierarchie von Unterbuckets 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 s3-dg.pdf-Schlüssel hat kein Präfix, deshalb erscheint sein Objekt direkt auf Root-Ebene des Buckets. 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 können jedoch die Amazon S3 S3-Konsole und AWS SDKskann Hierarchien 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 mit Hilfe von, betrachtet und manipuliert werden REST API AWS CLI, und AWS SDKs.

Richtlinien für Objektschlüsselnamen

Sie können ein beliebiges UTF -8-Zeichen in einem Objektschlüsselnamen 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 websicheren ZeichenDNS, XML Parsern und anderen zu maximieren. APIs

Sichere Zeichen

Die folgenden Zeichensätze sind allgemein sicher für die Verwendung in Schlüsselnamen.

Alphanumerische Zeichen
  • 0-9

  • a-z

  • A-Z

Sonderzeichen
  • Ausrufezeichen (!)

  • Bindestrich (-)

  • Unterstrich (_)

  • Punkt (.)

  • Sternchen (*)

  • Einzelnes Anführungszeichen (')

  • Öffnende Klammer (()

  • Schließende Klammer ())

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

Bei Objekten mit Schlüsselnamen, die mit Punkt(en) "." enden, die über die Amazon-S3-Konsole heruntergeladen werden, werden sämtliche Punkte "." aus dem Schlüsselnamen des heruntergeladenen Objekts entfernt. Um ein Objekt herunterzuladen, dessen Schlüsselname auf Punkt (en) „.“ endet und im heruntergeladenen Objekt beibehalten wird, müssen Sie die AWS Command Line Interface (AWS CLI), AWS SDKs, oder RESTAPI.

Darüber hinaus sollten Sie folgende Präfixbeschränkungen beachten:

  • Objekte mit dem Präfix „./“ müssen mit dem AWS Command Line Interface (AWS CLI), AWS SDKs, oder RESTAPI. Sie können die Amazon-S3-Konsole nicht verwenden.

  • Objekte mit dem Präfix „../“ können nicht mit dem hochgeladen werden AWS Command Line Interface (AWS CLI) oder Amazon S3 S3-Konsole.

Zeichen, die möglicherweise eine Sonderverarbeitung benötigen

Die folgenden Zeichen in einem Schlüsselnamen erfordern möglicherweise zusätzliche Codebehandlung und müssen wahrscheinlich URL codiert oder als HEX referenziert werden. Einige davon sind nicht darstellbare Zeichen, und Ihr Browser kann sie ggf. nicht verarbeiten, was zudem einer speziellen Vorgehensweise bedarf:

  • Ampersand ("&")

  • Dollar ("$")

  • ASCIIZeichenbereiche 00—1F hex (0—31 dezimal) und 7F (127 dezimal)

  • 'At'-Symbol ("@")

  • Gleichheitszeichen ("=")

  • Semikolon (";")

  • Schrägstrich ("/")

  • Doppelpunkt (":")

  • Plus ("+")

  • Leerzeichen – Wichtige Leerzeichenfolgen gehen möglicherweise bei bestimmten Verwendungszwecken verloren (insbesondere Mehrfachleerzeichen).

  • Komma (",")

  • Fragezeichen ("?")

Zeichen, die Sie vermeiden sollten

Wir empfehlen, die folgenden Zeichen nicht in einem Schlüsselnamen zu verwenden, da die Behandlung von Sonderzeichen häufig vorkommt und diese nicht in allen Anwendungen einheitlich ist.

  • Umgekehrter Schrägstrich ("\")

  • Linke geschweifte Klammer ("{")

  • Nicht druckbare ASCII Zeichen (128—255 Dezimalzeichen)

  • Caret ("^")

  • Rechte geschweifte Klammer ("}")

  • Prozentzeichen ("%")

  • Accent Grave ("`")

  • Rechte eckige Klammer ("]")

  • Anführungszeichen

  • Größersymbol (">")

  • Linke eckige Klammer ("[")

  • Tilde ("~")

  • Kleiner als-Zeichen („<“)

  • Pfundzeichen ("#")

  • Vertikaler Strich ("|")

Gemäß der XMLNorm zur end-of-line Verarbeitung ist der gesamte XML Text normalisiert, sodass Zeilenumbrüche (ASCIICode 13) und Zeilenumbrüche, denen unmittelbar ein Zeilenvorschub folgt (ASCIICode 10), durch ein einzelnes Zeilenvorschubzeichen ersetzt werden. Um die korrekte Analyse von Objektschlüsseln in XML Anfragen zu gewährleisten, müssen Zeilenumbrüche und andere Sonderzeichen durch ihren entsprechenden XML Entitätscode ersetzt werden, wenn sie in XML Tags eingefügt werden. Im Folgenden finden Sie eine Liste solcher Sonderzeichen und ihrer entsprechenden Entitätscodes:

  • ' wie &apos;

  • ” wie &quot;

  • & wie &amp;

  • < wie &lt;

  • > wie &gt;

  • \r wie &#13; oder &#x0D;

  • \n wie &#10; oder &#x0A;

Das folgende Beispiel veranschaulicht die Verwendung eines XML Entitätscodes als Ersatz für einen Zeilenumbruch. 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&#13;carriagereturn</Key> </Object> </Delete>