Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

S3-Bucket-Operationen und Implementierungsdetails in StorageGRID

Beitragende netapp-pcarriga netapp-lhalbert netapp-perveilerk netapp-jsnyder
Änderungen vorschlagen

Das StorageGRID System unterstützt maximal 20.000 Buckets für jedes S3-Mandantenkonto.

Jedes Grid kann maximal 100,000 Buckets enthalten.

Wenn mehrere Mandanten jeweils bis zu 5.000 Buckets haben, muss jeder Storage Node im Grid über mindestens 64 GB RAM verfügen.

Die Beschränkungen für Bucket-Namen orientieren sich an den Beschränkungen der AWS US Standard-Region, sollten aber zusätzlich auf DNS-Namenskonventionen beschränkt werden, um S3 Virtual-Hosted-Style-Anfragen zu unterstützen.

Weitere Informationen sind im Folgenden zu finden:

Die Operationen ListObjects (GET Bucket) und ListObjectVersions (GET Bucket-Objektversionen) unterstützen StorageGRID"Konsistenzwerte" .

Sie können überprüfen, ob Aktualisierungen der letzten Zugriffszeit für einzelne Buckets aktiviert oder deaktiviert sind. Weitere Informationen finden Sie unter "ZEITPUNKT des letzten Zugriffs FÜR den Bucket ABRUFEN".

In der folgenden Tabelle wird beschrieben, wie StorageGRID S3-REST-API-Bucket-Operationen implementiert Um einen dieser Vorgänge durchzuführen, müssen die erforderlichen Anmeldedaten für den Zugriff für das Konto bereitgestellt werden.

Betrieb Implementierung

CreateBucket

Erstellt einen neuen Bucket. Mit dem Erstellen des Buckets werden Sie zum Bucket-Eigentümer.

Hinweis: S3-Verzeichnis-Buckets werden nicht unterstützt.

  • Bucket-Namen müssen die folgenden Regeln einhalten:

    • Jedes StorageGRID System muss eindeutig sein (nicht nur innerhalb des Mandantenkontos).

    • Muss DNS-konform sein.

    • Muss mindestens 3 und nicht mehr als 63 Zeichen enthalten.

    • Kann eine Reihe von einer oder mehreren Etiketten sein, wobei angrenzende Etiketten durch einen Zeitraum getrennt sind. Jedes Etikett muss mit einem Kleinbuchstaben oder einer Zahl beginnen und enden. Es können nur Kleinbuchstaben, Ziffern und Bindestriche verwendet werden.

    • Darf nicht wie eine Text-formatierte IP-Adresse aussehen.

    • Perioden sollten nicht in Anforderungen im virtuellen gehosteten Stil verwendet werden. Perioden verursachen Probleme bei der Überprüfung des Server-Platzhalterzertifikats.

  • Standardmäßig werden Buckets in der Region erstellt us-east-1. Sie können jedoch das Anforderungselement im Anforderungskörper verwenden LocationConstraint, um einen anderen Bereich anzugeben. Wenn Sie das Element verwenden LocationConstraint, müssen Sie den genauen Namen einer Region angeben, die mit dem Grid Manager oder der Grid Management API definiert wurde. Wenden Sie sich an Ihren Systemadministrator, wenn Sie den zu verwendenden Regionalnamen nicht kennen.

    Hinweis: Es tritt ein Fehler auf, wenn Ihre CreateBucket-Anfrage eine Region verwendet, die in StorageGRID nicht definiert wurde.

  • Sie können den x-amz-bucket-object-lock-enabled Anforderungsheader einfügen, um einen Bucket mit aktivierter S3 Object Lock zu erstellen. Weitere Informationen finden Sie unter "Konfigurieren Sie die S3-Objektsperre über die S3-REST-API".

    S3 Object Lock erfordert die Bucket-Versionierung, die automatisch aktiviert wird, wenn der Bucket mit aktiviertem S3 Object Lock erstellt wird.

    Sie können die S3 Object Lock beim Erstellen des Buckets oder zu einem späteren Zeitpunkt aktivieren.

DeleteBucket

Löscht den Bucket.

DeleteBucketCors

Löscht die CORS-Konfiguration für den Bucket.

DeleteBucketEncryption

Löscht die Standardverschlüsselung aus dem Bucket. Vorhandene verschlüsselte Objekte bleiben verschlüsselt, neue Objekte, die dem Bucket hinzugefügt wurden, werden jedoch nicht verschlüsselt.

DeleteBucketLifecycle

Löscht die Lebenszykluskonfiguration aus dem Bucket. Siehe "S3-Lebenszykluskonfiguration erstellen".

DeleteBucketRichtlinien

Löscht die dem Bucket angehängte Richtlinie.

DeleteBucketReplication

Löscht die Replikationskonfiguration, die mit dem Bucket verbunden ist.

DeleteBucketTagging

Verwendet die tagging Unterressource, um alle Tags aus einem Bucket zu entfernen.

Achtung: Wenn für diesen Bucket ein nicht standardmäßiges ILM-Richtlinien-Tag festgelegt ist, gibt es ein NTAP-SG-ILM-BUCKET-TAG Bucket-Tag mit einem zugewiesenen Wert. Eine DeleteBucketTagging-Anfrage sollte nicht gestellt werden, wenn ein NTAP-SG-ILM-BUCKET-TAG Bucket-Tag vorhanden ist. Stattdessen sollte eine PutBucketTagging-Anfrage mit nur dem NTAP-SG-ILM-BUCKET-TAG Tag und dessen zugewiesenem Wert gestellt werden, um alle anderen Tags aus dem Bucket zu entfernen. Das NTAP-SG-ILM-BUCKET-TAG Bucket-Tag sollte nicht geändert oder entfernt werden.

GetBucketAcl

Gibt eine positive Antwort und die ID, den Anzeigenamen und die Berechtigung des Bucket-Eigentümers zurück, was darauf hinweist, dass der Besitzer vollen Zugriff auf den Bucket hat.

GetBucketCors

Gibt die Konfiguration für den Bucket zurück cors.

GetBucketEncryption

Gibt die Standardverschlüsselungskonfiguration für den Bucket zurück.

GetBucketLifecycleKonfiguration

(Zuvor GET Bucket-Lebenszyklus genannt)

Gibt die Lebenszykluskonfiguration für den Bucket zurück. Siehe "S3-Lebenszykluskonfiguration erstellen".

GetBucketLocation

Gibt die Region zurück, die mit dem LocationConstraint Element in der CreateBucket-Anfrage festgelegt wurde. Wenn die Region des Buckets us-east-1 (Standard) ist, wird für LocationConstraint ein leerer Wert zurückgegeben.

GetBucketNotificationConfiguration

(Zuvor namens „GET Bucket“-Benachrichtigung)

Gibt die Benachrichtigungskonfiguration zurück, die mit dem Bucket verbunden ist.

GetBucketPolicy

Gibt die dem Bucket angehängte Richtlinie zurück.

GetBucketReplication

Gibt die Replikationskonfiguration zurück, die mit dem Bucket verbunden ist.

GetBucketTagging

Verwendet die tagging Unterressource, um alle Tags für einen Bucket zurückzugeben.

Achtung: Wenn für diesen Bucket ein nicht standardmäßiges ILM-Richtlinien-Tag festgelegt ist, gibt es ein NTAP-SG-ILM-BUCKET-TAG Bucket-Tag mit einem zugewiesenen Wert. Dieses Tag sollte nicht geändert oder entfernt werden.

GetBucketVersioning

Diese Implementierung verwendet die versioning Subressource, um den Versionsstatus eines Buckets zurückzugeben.

  • Blank: Die Versionierung wurde nie aktiviert (Bucket ist „unversioniert“)

  • Aktiviert: Versionierung ist aktiviert

  • Suspendiert: Die Versionierung war zuvor aktiviert und wird ausgesetzt

GetObjectLockConfiguration

Gibt den Standardaufbewahrungsmodus für Bucket und den Standardaufbewahrungszeitraum zurück, sofern konfiguriert.

Weitere Informationen finden Sie unter "Konfigurieren Sie die S3-Objektsperre über die S3-REST-API".

HeadBucket

Legt fest, ob ein Bucket vorhanden ist und Sie über die Berechtigung verfügen, darauf zuzugreifen.

Dieser Vorgang liefert Folgendes zurück:

  • x-ntap-sg-bucket-id: Die UUID des Buckets im UUID-Format.

  • x-ntap-sg-trace-id: Die eindeutige Trace-ID der zugehörigen Anforderung.

ListObjects und ListObjectsV2

(Zuvor benannt nach „GET Bucket“)

Gibt einige oder alle (bis zu 1,000) Objekte in einem Bucket zurück. Die Storage-Klasse für Objekte kann einen der beiden Werte haben, selbst wenn das Objekt mit der Option Storage-Klasse aufgenommen wurde REDUCED_REDUNDANCY:

  • STANDARD, Das angibt, dass das Objekt in einem Speicherpool mit Storage Nodes gespeichert ist.

  • GLACIER, Das angibt, dass das Objekt in den externen Bucket verschoben wurde, der vom Cloud-Speicherpool angegeben wurde.

Wenn der Bucket eine große Anzahl von gelöschten Schlüsseln mit dem gleichen Präfix enthält, kann die Antwort einige CommonPrefixes enthalten, die keine Schlüssel enthalten.

Für die HeadObject- und ListObject-Anfragen gibt StorageGRID die LastModified-Zeitstempel mit unterschiedlicher Genauigkeit zurück, während AWS die Zeitstempel mit der gleichen Genauigkeit zurückgibt, wie in den folgenden Beispielen gezeigt:

  • StorageGRID HeadObject: "LastModified": "2024-09-26T16:43:24+00:00"

  • StorageGRID ListObject: "LastModified": "2024-09-26T16:43:24.931000+00:00"

  • AWS HeadObject: "LastModified": "2023-10-17T00:19:54+00:00"

  • AWS ListObject: "LastModified": "2023-10-17T00:19:54+00:00"

ListObjectVersions

(Zuvor namens „GET Bucket Object Versions“)

Mit LESEZUGRIFF auf einen Bucket wird dieser Vorgang mit den Unterressourcen-Listen Metadaten aller Versionen von Objekten im Bucket verwendet versions.

PutBucketCors

Legt die CORS-Konfiguration für einen Bucket so fest, dass der Bucket Anfragen mit verschiedenen Ursprung bedienen kann. CORS (Cross-Origin Resource Sharing) ist ein Sicherheitsmechanismus, mit dem Client-Webanwendungen in einer Domäne auf Ressourcen in einer anderen Domäne zugreifen können. Angenommen, Sie verwenden einen S3-Bucket mit dem Namen images zum Speichern von Grafiken. Durch die Einstellung der CORS-Konfiguration für den images Bucket können Sie die Bilder in diesem Bucket auf der Website anzeigen lassen http://www.example.com.

PutBucketEncryption

Legt den Standardverschlüsselungsstatus eines vorhandenen Buckets fest. Bei aktivierter Verschlüsselung auf Bucket-Ebene sind alle neuen dem Bucket hinzugefügten Objekte verschlüsselt.StorageGRID unterstützt serverseitige Verschlüsselung mit von StorageGRID gemanagten Schlüsseln. Wenn Sie die serverseitige Verschlüsselungskonfigurationsregel angeben, setzen Sie den SSEAlgorithm Parameter auf AES256, und verwenden Sie den Parameter nicht KMSMasterKeyID.

Die Standardverschlüsselungskonfiguration von Buckets wird ignoriert, wenn in der Objekt-Upload-Anforderung bereits Verschlüsselung angegeben ist (d. h. wenn die Anforderung den Anforderungsheader enthält x-amz-server-side-encryption-*).

PutBucketLifecycleKonfiguration

(Zuvor PUT Bucket-Lebenszyklus genannt)

Erstellt eine neue Lebenszykluskonfiguration für den Bucket oder ersetzt eine vorhandene Lebenszykluskonfiguration. StorageGRID unterstützt in einer Lebenszykluskonfiguration bis zu 1,000 Lebenszyklusregeln. Jede Regel kann die folgenden XML-Elemente enthalten:

  • Ablauf (Tage, Datum, ErstrecktObjectDeleteMarker)

  • Nicht-aktuellVersionAblauf (NewerNichtaktuellVersionen, nicht aktuelleTage)

  • Filter (Präfix, Tag)

  • Status

  • ID

StorageGRID bietet folgende Maßnahmen nicht:

  • AbortInsetteMultipartUpload

  • Übergang

Siehe "S3-Lebenszykluskonfiguration erstellen". Weitere Informationen darüber, wie die Ablaufaktion im Lebenszyklus eines Buckets mit ILM-Platzierungsanweisungen interagiert, finden Sie unter "Wie ILM im gesamten Leben eines Objekts funktioniert".

Hinweis: Die Konfiguration des Bucket-Lebenszyklus kann für Buckets verwendet werden, für die S3-Objektsperre aktiviert ist. Die Bucket-Lebenszykluskonfiguration wird jedoch für ältere kompatible Buckets nicht unterstützt.

PutBucketNotificationKonfiguration

(Zuvor namens „PUT Bucket“-Benachrichtigung)

Konfiguriert Benachrichtigungen für den Bucket mithilfe der XML-Benachrichtigungskonfiguration, die im Anforderungskörper enthalten ist. Sie sollten folgende Implementierungsdetails kennen:

  • StorageGRID unterstützt Amazon Simple Notification Service (Amazon SNS)-Themen, Kafka-Themen oder Webhook-Endpunkte als Ziele. Simple Queue Service (SQS) oder AWS Lambda-Endpunkte werden nicht unterstützt.

  • Das Ziel für Benachrichtigungen muss als URN eines StorageGRID-Endpunkts angegeben werden. Endpunkte können mit dem Mandanten-Manager oder der Mandanten-Management-API erstellt werden.

    Der Endpunkt muss vorhanden sein, damit die Benachrichtigungskonfiguration erfolgreich ausgeführt werden kann. Wenn der Endpunkt nicht vorhanden ist, wird ein 400 Bad Request Fehler mit dem Code zurückgegeben InvalidArgument.

  • Sie können keine Benachrichtigung für die folgenden Ereignistypen konfigurieren. Diese Ereignistypen werden nicht unterstützt.

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • Aus StorageGRID gesendete Ereignisbenachrichtigungen verwenden das JSON-Standardformat, außer dass sie einige Schlüssel nicht enthalten und bestimmte Werte für andere verwenden, wie in der folgenden Liste gezeigt:

    • EventSource

      sgws:s3

    • AwsRegion

      Nicht enthalten

    • * X-amz-id-2*

      Nicht enthalten

    • arn

      urn:sgws:s3:::bucket_name

PutBucketPolicy

Legt die dem Bucket zugeordnete Richtlinie fest. Siehe "Verwendung von Bucket- und Gruppenzugriffsrichtlinien".

PutBucketReplication

Konfiguration "StorageGRID CloudMirror Replizierung" für den Bucket mithilfe der im Anforderungskörper bereitgestellten XML-Replikationskonfiguration Für die CloudMirror-Replikation sollten Sie die folgenden Implementierungsdetails beachten:

  • StorageGRID unterstützt ausschließlich die Replikationskonfiguration V1. Das bedeutet, dass StorageGRID die Verwendung des Filter Elements für Regeln nicht unterstützt und die V1-Konventionen für das Löschen von Objektversionen anwendet. Weitere Informationen finden sich unter "Amazon Simple Storage Service User Guide: Replizierungskonfiguration".

  • Die Bucket-Replizierung kann für versionierte oder nicht versionierte Buckets konfiguriert werden.

  • Sie können in jeder Regel der XML-Replikationskonfiguration einen anderen Ziel-Bucket angeben. Ein Quell-Bucket kann auf mehrere Ziel-Bucket replizieren.

  • Ziel-Buckets müssen als URN von StorageGRID Endpunkten angegeben werden, wie im Tenant Manager oder der Tenant Management API definiert. Siehe "CloudMirror-Replizierung konfigurieren".

    Der Endpunkt muss vorhanden sein, damit die Replizierungskonfiguration erfolgreich ausgeführt werden kann. Wenn der Endpunkt nicht existiert, schlägt die Anforderung als fehl. Die Fehlermeldung lautet 400 Bad Request: Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • Sie müssen kein in der Konfigurations-XML angeben Role. Dieser Wert wird von StorageGRID nicht verwendet und wird bei der Einreichung ignoriert.

  • Wenn Sie die Storage-Klasse aus dem Konfigurations-XML nicht angeben, verwendet StorageGRID standardmäßig die STANDARD Storage-Klasse.

  • Wenn Sie ein Objekt aus dem Quell-Bucket löschen oder den Quell-Bucket selbst löschen, sieht das Verhalten der regionsübergreifenden Replizierung wie folgt aus:

    • Wenn Sie das Objekt oder den Bucket löschen, bevor es repliziert wurde, wird das Objekt/Bucket nicht repliziert, und Sie werden nicht benachrichtigt.

    • Wenn Sie das Objekt oder Bucket nach der Replizierung löschen, befolgt StorageGRID das standardmäßige Löschverhalten von Amazon S3 für die V1 der regionsübergreifenden Replizierung.

PutBucketTagging

Verwendet die tagging Unterressource, um einen Satz von Tags für einen Bucket hinzuzufügen oder zu aktualisieren. Beachten Sie beim Hinzufügen von Bucket-Tags die folgenden Einschränkungen:

  • StorageGRID und Amazon S3 unterstützen für jeden Bucket bis zu 50 Tags.

  • Tags, die einem Bucket zugeordnet sind, müssen eindeutige Tag-Schlüssel haben. Ein Tag-Schlüssel kann bis zu 128 Unicode-Zeichen lang sein.

  • Die Tag-Werte können bis zu 256 Unicode-Zeichen lang sein.

  • Bei den Schlüsseln und Werten wird die Groß-/Kleinschreibung beachtet.

Achtung: Wenn für diesen Bucket ein nicht standardmäßiges ILM-Policy-Tag festgelegt ist, gibt es ein NTAP-SG-ILM-BUCKET-TAG Bucket-Tag mit einem zugewiesenen Wert. Es ist sicherzustellen, dass das NTAP-SG-ILM-BUCKET-TAG Bucket-Tag mit dem zugewiesenen Wert in allen PutBucketTagging-Anfragen enthalten ist. Dieses Tag sollte weder geändert noch entfernt werden.

Hinweis: Dieser Vorgang überschreibt alle aktuellen Tags, die der Bucket bereits hat. Wenn vorhandene Tags aus dem Satz weggelassen werden, werden diese Tags für den Bucket entfernt.

PutBucketVersioning

Verwendet die versioning Unterressource, um den Versionsstatus eines vorhandenen Buckets festzulegen. Sie können den Versionierungsstatus mit einem der folgenden Werte festlegen:

  • Aktiviert: Versionierung für die Objekte im Bucket Alle dem Bucket hinzugefügten Objekte erhalten eine eindeutige Version-ID.

  • Suspendiert: Deaktiviert die Versionierung für die Objekte im Bucket. Alle dem Bucket hinzugefügten Objekte erhalten die Versions-ID null.

PutObjectLockKonfiguration

  • Konfiguriert oder entfernt den Standardaufbewahrungsmodus und den Standardaufbewahrungszeitraum für Bucket.

  • Wenn der Grid-Administrator die Berechtigung erteilt hat, ermöglicht dies die Aktivierung der S3 Object Lock-Funktion für bestehende Buckets.

Wird die Standardaufbewahrungsfrist geändert, bleibt das Aufbewahrungsdatum für bestehende Objektversionen unverändert und wird nicht anhand der neuen Standardaufbewahrungsfrist neu berechnet.

Ausführliche Informationen sind unter "Konfigurieren Sie die S3-Objektsperre über die S3-REST-API" zu finden.