Skip to main content
Une version plus récente de ce produit est disponible.
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Opérations sur les compartiments

Contributeurs

Le système StorageGRID prend en charge un maximum de 1,000 compartiments pour chaque compte de locataire S3.

Les restrictions de noms de compartiment sont respectées dans les restrictions de région standard AWS, mais vous devez les restreindre davantage aux conventions de nommage DNS afin de prendre en charge les demandes de type hébergement virtuel S3.

Les opérations GET Bucket (List Objects) et GET compartiment versions prennent en charge les contrôles de cohérence StorageGRID.

Vous pouvez vérifier si les mises à jour de l'heure du dernier accès sont activées ou désactivées pour les compartiments individuels.

Le tableau suivant décrit la façon dont StorageGRID implémente les opérations des compartiments de l'API REST S3. Pour effectuer l'une de ces opérations, les informations d'identification d'accès nécessaires doivent être fournies pour le compte.

Fonctionnement Mise en place

SUPPRIMER le compartiment

Mise en œuvre avec tout le comportement de l'API REST Amazon S3.

SUPPRIMER les godets

Cette opération supprime la configuration CORS pour le compartiment.

SUPPRIMER le chiffrement du compartiment

Cette opération supprime le chiffrement par défaut du compartiment. Les objets chiffrés existants restent chiffrés, mais tous les nouveaux objets ajoutés au compartiment ne sont pas chiffrés.

SUPPRIMER le cycle de vie du compartiment

Cette opération supprime la configuration du cycle de vie du compartiment.

SUPPRIMER la règle de compartiment

Cette opération supprime la règle attachée au compartiment.

SUPPRIMER la réplication du compartiment

Cette opération supprime la configuration de réplication attachée au compartiment.

SUPPRIMER le balisage du compartiment

Cette opération utilise le tagging sous-ressource pour supprimer toutes les balises d'un compartiment.

GET Bucket (List Objects), version 1 et version 2

Cette opération renvoie une partie ou la totalité (jusqu'à 1,000) des objets dans un godet. La classe de stockage pour les objets peut avoir l'une ou l'autre des deux valeurs, même si l'objet a été ingéré avec le REDUCED_REDUNDANCY option de classe de stockage :

  • STANDARD, Qui indique que l'objet est stocké dans un pool de stockage composé de nœuds de stockage.

  • GLACIER, Qui indique que l'objet a été déplacé vers le compartiment externe spécifié par le pool de stockage cloud.

Si le compartiment contient un grand nombre de clés supprimées qui ont le même préfixe, la réponse peut inclure une partie CommonPrefixes ne contenant pas de clés.

OBTENIR l'acl du compartiment

Cette opération renvoie une réponse positive et l'ID, le DisplayName et l'autorisation du propriétaire du compartiment, indiquant que le propriétaire a un accès complet au compartiment.

OBTENIR les godets

Cette opération renvoie le cors configuration du compartiment.

CHIFFREMENT des compartiments

Cette opération renvoie la configuration de cryptage par défaut pour le compartiment.

OPTIMISEZ le cycle de vie des compartiments

Cette opération retourne la configuration du cycle de vie du godet.

ACCÉDER à l'emplacement du compartiment

Cette opération renvoie la région définie à l'aide de LocationConstraint Élément dans la demande PUT Bucket. Si la région du godet est de us-east-1, une chaîne vide est renvoyée pour la région.

GET Bucket notification

Cette opération renvoie la configuration de notification attachée au compartiment.

OBTENIR les versions d'objet de compartiment

Avec accès EN LECTURE sur un godet, cette opération avec le versions sous-ressource répertorie les métadonnées de toutes les versions des objets dans le compartiment.

GET Bucket policy

Cette opération renvoie la politique attachée au godet.

RÉPLICATION des compartiments

Cette opération renvoie la configuration de réplication attachée au compartiment.

GET Bucket tagging

Cette opération utilise le tagging sous-ressource pour renvoyer toutes les balises d'un compartiment.

GESTION des versions des compartiments

Cette implémentation utilise le versioning sous-ressource pour retourner l'état de gestion des versions d'un compartiment. L'état de gestion des versions renvoyé indique si le compartiment est « non versionné » ou si le compartiment est de version « activé » ou « désactivé ».

OBTENIR la configuration de verrouillage d'objet

Cette opération détermine si le verrouillage d'objet S3 est activé pour un compartiment. "Utilisation du verrouillage d'objet S3"

Godet DE TÊTE

Cette opération détermine si un compartiment existe et que vous êtes autorisé à y accéder.

PLACER le godet

Cette opération crée un nouveau godet. C'est en créant le compartiment que vous devenez le propriétaire.

  • Les noms de compartiment doivent être conformes aux règles suivantes :

    • Il doit être unique sur chaque système StorageGRID (et pas seulement au sein du compte du locataire).

    • Doit être conforme DNS.

    • Doit contenir au moins 3 caractères et pas plus de 63 caractères.

    • Peut être une série d'une ou plusieurs étiquettes, avec des étiquettes adjacentes séparées par un point. Chaque étiquette doit commencer et se terminer par une lettre ou un chiffre en minuscules et ne peut utiliser que des lettres minuscules, des chiffres et des tirets.

    • Ne doit pas ressembler à une adresse IP au format texte.

    • Ne doit pas utiliser de périodes dans des demandes de type hébergement virtuel. Les périodes provoquera des problèmes avec la vérification du certificat générique du serveur.

  • Par défaut, les compartiments sont créés dans le us-east-1 région ; cependant, vous pouvez utiliser le LocationConstraint elément de demande dans le corps de la demande pour spécifier une région différente. Lorsque vous utilisez le LocationConstraint Elément, vous devez spécifier le nom exact d'une région qui a été définie à l'aide du gestionnaire de grille ou de l'API de gestion de grille. Contactez votre administrateur système si vous ne connaissez pas le nom de région que vous devez utiliser. Remarque : une erreur se produit si votre demande PUT Bucket utilise une région qui n'a pas été définie dans StorageGRID.

  • Vous pouvez inclure le x-amz-bucket-object-lock-enabled Demander l'en-tête pour créer un compartiment avec le verrouillage objet S3 activé.

    Vous devez activer le verrouillage d'objet S3 lors de la création du compartiment. Vous ne pouvez pas ajouter ou désactiver le verrouillage d'objet S3 après la création d'un compartiment. Le verrouillage objet S3 requiert la gestion des versions de compartiment, qui est activée automatiquement lors de la création du compartiment.

PLACEZ les godets

Cette opération définit la configuration du CORS pour un compartiment afin que le compartiment puisse traiter les demandes d'origine croisée. Le partage de ressources d'origine croisée (CORS) est un mécanisme de sécurité qui permet aux applications Web clientes d'un domaine d'accéder aux ressources d'un domaine différent. Supposons par exemple que vous utilisez un compartiment S3 nommé images pour stocker des graphiques. En définissant la configuration CORS pour le images le champ permet d'afficher les images de ce compartiment sur le site web http://www.example.com.

PUT Bucket Encryption

Cette opération définit l'état de cryptage par défaut d'un compartiment existant. Lorsque le chiffrement au niveau du compartiment est activé, tout nouvel objet ajouté au compartiment est chiffré.StorageGRID prend en charge le chiffrement côté serveur avec des clés gérées par StorageGRID. Lorsque vous spécifiez la règle de configuration de cryptage côté serveur, définissez l' SSEAlgorithm paramètre à AES256, et n'utilisez pas le KMSMasterKeyID paramètre.

La configuration de cryptage par défaut du compartiment est ignorée si la demande de téléchargement d'objet spécifie déjà le cryptage (c'est-à-dire, si la demande inclut le x-amz-server-side-encryption-* en-tête de demande).

CYCLE de vie des compartiments

Cette opération crée une nouvelle configuration de cycle de vie pour le compartiment ou remplace une configuration de cycle de vie existante. StorageGRID prend en charge jusqu'à 1,000 règles de cycle de vie dans une configuration cycle de vie. Chaque règle peut inclure les éléments XML suivants :

  • Expiration (jours, date)

  • NonactuelVersionExp (Nontactut Days)

  • Filtre (préfixe, étiquette)

  • État

  • ID

StorageGRID ne prend pas en charge les actions suivantes :

  • AbortIncompleMultipartUpload

  • ExpiredObjectDeleteMarker

  • Transition

Pour comprendre comment l'action expiration dans un cycle de vie de compartiment interagit avec les instructions de placement ILM, reportez-vous à la section « fonctionnement de l'ILM tout au long de la vie d'un objet » dans les instructions de gestion des objets avec la gestion du cycle de vie des informations.

Remarque : la configuration du cycle de vie des compartiments peut être utilisée avec des compartiments avec le verrouillage d'objet S3 activé, mais la configuration du cycle de vie des compartiments n'est pas prise en charge pour les compartiments conformes hérités.

PUT Bucket notification

Cette opération configure les notifications pour le compartiment à l'aide du XML de configuration de notification inclus dans le corps de la demande. Vous devez connaître les détails d'implémentation suivants :

  • StorageGRID prend en charge les rubriques SNS (simple notification Service) comme destinations. Les terminaux SQS (simple Queue Service) ou Amazon Lambda ne sont pas pris en charge.

  • La destination des notifications doit être spécifiée comme URN d'un terminal StorageGRID. Les terminaux peuvent être créés à l'aide du Gestionnaire de locataires ou de l'API de gestion des locataires.

    Le noeud final doit exister pour que la configuration des notifications réussisse. Si le noeud final n'existe pas, un 400 Bad Request l'erreur est renvoyée avec le code InvalidArgument.

  • Vous ne pouvez pas configurer une notification pour les types d'événements suivants. Ces types d'événements sont non pris en charge.

    • s3:ReducedRedundancyLostObject

    • s3:ObjectRestore:Completed

  • Les notifications d'événements envoyées par StorageGRID utilisent le format JSON standard, sauf qu'elles n'incluent pas certaines clés et utilisent des valeurs spécifiques pour les autres, comme illustré dans la liste ci-dessous :

  • EventSource

    sgws:s3

  • AwsRegion

    non inclus

  • x-amz-id-2

    non inclus

  • arn

    urn:sgws:s3:::bucket_name

PUT Bucket policy

Cette opération définit la politique associée au compartiment.

RÉPLICATION des compartiments

Cette opération configure la réplication StorageGRID CloudMirror pour le compartiment à l'aide du XML de configuration de réplication fourni dans le corps de la demande. Pour la réplication CloudMirror, vous devez connaître les détails d'implémentation suivants :

  • StorageGRID ne prend en charge que le V1 de la configuration de la réplication. Cela signifie que StorageGRID ne prend pas en charge l'utilisation de Filter Elément pour les règles, et suit les conventions V1 pour la suppression des versions d'objet. Pour plus d'informations, reportez-vous à la documentation Amazon sur la configuration de la réplication.

  • La réplication des compartiments peut être configurée sur les compartiments avec ou sans version.

  • Vous pouvez spécifier un compartiment de destination différent dans chaque règle du XML de configuration de réplication. Un compartiment source peut être répliqué sur plusieurs compartiments de destination.

  • Les compartiments de destination doivent être spécifiés en tant que URN des terminaux StorageGRID, tel que spécifié dans le Gestionnaire de locataires ou l'API de gestion des locataires.

    Le noeud final doit exister pour que la configuration de réplication réussisse. Si le noeud final n'existe pas, la demande échoue en tant que 400 Bad Request. Le message d'erreur indique : Unable to save the replication policy. The specified endpoint URN does not exist: URN.

  • Il n'est pas nécessaire de spécifier un Role Dans le XML de configuration. Cette valeur n'est pas utilisée par StorageGRID et sera ignorée si elle a été soumise.

  • Si vous omettez la classe de stockage du XML de configuration, StorageGRID utilise le STANDARD classe de stockage par défaut.

  • Si vous supprimez un objet du compartiment source ou que vous supprimez le compartiment source lui-même, le comportement de réplication inter-région est le suivant :

    • Si vous supprimez l'objet ou le compartiment avant sa réplication, l'objet/le compartiment n'est pas répliqué et vous n'êtes pas averti.

    • Si vous supprimez l'objet ou le compartiment après sa réplication, StorageGRID suit le comportement de suppression Amazon S3 standard pour la version V1 de la réplication multi-région.

PUT Bucket tagging

Cette opération utilise le tagging sous-ressource pour ajouter ou mettre à jour un ensemble de balises pour un compartiment. Lors de l'ajout de balises de compartiment, tenez compte des limites suivantes :

  • StorageGRID et Amazon S3 prennent en charge jusqu'à 50 balises pour chaque compartiment.

  • Les étiquettes associées à un compartiment doivent avoir des clés d'étiquette uniques. Une clé de balise peut comporter jusqu'à 128 caractères Unicode.

  • Les valeurs de balise peuvent comporter jusqu'à 256 caractères Unicode.

  • Les clés et les valeurs sont sensibles à la casse

GESTION des versions du compartiment

Cette implémentation utilise le versioning sous-ressource pour définir l'état de gestion des versions d'un compartiment existant. Vous pouvez définir l'état de la gestion des versions à l'aide de l'une des valeurs suivantes :

  • Activé : permet la gestion des versions des objets dans le compartiment. Tous les objets ajoutés au compartiment reçoivent un ID de version unique.

  • Suspendu : désactive la gestion des versions des objets dans le compartiment. Tous les objets ajoutés au compartiment reçoivent l'ID de version null.

Création d'une configuration de cycle de vie S3

Vous pouvez créer une configuration de cycle de vie S3 afin de contrôler la suppression d'objets spécifiques du système StorageGRID.

L'exemple simple de cette section illustre la façon dont une configuration du cycle de vie S3 peut contrôler la suppression de certains objets (expirés) dans des compartiments S3 spécifiques. L'exemple de cette section est fourni à titre d'illustration uniquement. Pour plus d'informations sur la création de configurations de cycle de vie S3, reportez-vous à la section relative à la gestion du cycle de vie des objets dans le Amazon simple Storage Service Developer Guide. Notez que StorageGRID prend uniquement en charge les actions d'expiration, mais pas les actions de transition.

Qu'est-ce qu'une configuration de cycle de vie

La configuration du cycle de vie est un ensemble de règles appliquées aux objets dans des compartiments S3 spécifiques. Chaque règle indique quels objets sont affectés et quand ces objets vont expirer (à une date spécifique ou après un certain nombre de jours).

StorageGRID prend en charge jusqu'à 1,000 règles de cycle de vie dans une configuration cycle de vie. Chaque règle peut inclure les éléments XML suivants :

  • Expiration : supprimez un objet lorsqu'une date spécifiée est atteinte ou lorsqu'un nombre de jours spécifié est atteint, à partir de l'ingestion de l'objet.

  • NonactuelVersionExexpiration : supprimez un objet lorsque le nombre de jours spécifié est atteint, à partir de quand l'objet est devenu non courant.

  • Filtre (préfixe, étiquette)

  • État

  • ID

Si vous appliquez une configuration de cycle de vie à un compartiment, les paramètres de cycle de vie du compartiment prévalent toujours sur les paramètres ILM de StorageGRID. StorageGRID utilise les paramètres d'expiration du compartiment et non ILM pour déterminer s'il faut supprimer ou conserver des objets spécifiques.

Par conséquent, il est possible de supprimer un objet de la grille, même si les instructions de placement d'une règle ILM s'appliquent toujours à l'objet. Il est également possible de conserver un objet dans la grille même après l'expiration des instructions de placement ILM de l'objet. Pour plus de détails, consultez la section « fonctionnement de ILM tout au long de la vie d'un objet » dans les instructions de gestion des objets avec la gestion du cycle de vie de l'information.

Remarque La configuration du cycle de vie des compartiments avec des compartiments dont le verrouillage objet S3 est activé, mais la configuration du cycle de vie des compartiments n'est pas prise en charge pour les compartiments conformes.

StorageGRID prend en charge les opérations suivantes des compartiments pour gérer les configurations du cycle de vie :

  • SUPPRIMER le cycle de vie du compartiment

  • OPTIMISEZ le cycle de vie des compartiments

  • CYCLE de vie des compartiments

Création de la configuration du cycle de vie

Comme première étape de la création de la configuration du cycle de vie, vous créez un fichier JSON qui inclut une ou plusieurs règles. Par exemple, ce fichier JSON contient trois règles, comme suit :

  1. La règle 1 s'applique uniquement aux objets qui correspondent au préfixe category1/ et qui ont un key2 valeur de tag2. Le Expiration Le paramètre spécifie que les objets correspondant au filtre expireront à minuit le 22 août 2020.

  2. La règle 2 s'applique uniquement aux objets qui correspondent au préfixe category2/. Le Expiration le paramètre indique que les objets correspondant au filtre expirent 100 jours après leur ingestion.

    Important Les règles spécifiant un nombre de jours sont relatives à l'ingestion de l'objet. Si la date actuelle dépasse la date d'ingestion et le nombre de jours, certains objets peuvent être supprimés du compartiment dès que la configuration de cycle de vie est appliquée.
  3. La règle 3 s'applique uniquement aux objets qui correspondent au préfixe category3/. Le Expiration paramètre spécifie que toute version non actuelle des objets de correspondance expirera 50 jours après leur non-mise à jour.

{
	"Rules": [
        {
		    "ID": "rule1",
			"Filter": {
                "And": {
                    "Prefix": "category1/",
                    "Tags": [
                        {
                            "Key": "key2",
							"Value": "tag2"
                        }
                    ]
                }
            },
			"Expiration": {
                "Date": "2020-08-22T00:00:00Z"
            },
            "Status": "Enabled"
        },
		{
            "ID": "rule2",
			"Filter": {
                "Prefix": "category2/"
            },
			"Expiration": {
                "Days": 100
            },
            "Status": "Enabled"
        },
		{
            "ID": "rule3",
			"Filter": {
                "Prefix": "category3/"
            },
			"NoncurrentVersionExpiration": {
                "NoncurrentDays": 50
            },
            "Status": "Enabled"
        }
    ]
}

Application d'une configuration de cycle de vie à un compartiment

Une fois que vous avez créé le fichier de configuration du cycle de vie, vous l'appliquez à un compartiment en émettant une demande DE cycle de vie PUT bucket.

Cette demande applique la configuration du cycle de vie dans le fichier exemple aux objets d'un compartiment nommé testbucket:godet

aws s3api --endpoint-url <StorageGRID endpoint> put-bucket-lifecycle-configuration
--bucket testbucket --lifecycle-configuration file://bktjson.json

Pour vérifier qu'une configuration du cycle de vie a été appliquée avec succès au compartiment, émettez une demande GET Lifecycle. Par exemple :

aws s3api --endpoint-url <StorageGRID endpoint> get-bucket-lifecycle-configuration
 --bucket testbucket

Une réponse réussie répertorie la configuration de cycle de vie que vous venez d'appliquer.

La validation de l'expiration du cycle de vie du compartiment s'applique à un objet

Vous pouvez déterminer si une règle d'expiration dans la configuration de cycle de vie s'applique à un objet spécifique lors de l'émission d'une requête D'objet PUT, HEAD Object ou GET Object. Si une règle s'applique, la réponse comprend un Expiration paramètre qui indique quand l'objet expire et quelle règle d'expiration a été mise en correspondance.

Remarque Le cycle de vie des compartiments ignore ILM, le expiry-date l'illustration représente la date réelle à laquelle l'objet sera supprimé. Pour plus de détails, reportez-vous à la section « détermination de la conservation des objets » dans les instructions d'administration de StorageGRID.

Par exemple, cette requête PUT Object a été émise le 22 juin 2020 et place un objet dans le testbucket godet.

aws s3api --endpoint-url <StorageGRID endpoint> put-object
--bucket testbucket --key obj2test2 --body bktjson.json

La réponse de réussite indique que l'objet expirera dans 100 jours (01 oct 2020) et qu'il correspond à la règle 2 de la configuration de cycle de vie.

{
      *"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:49 GMT\", rule-id=\"rule2\"",
      "ETag": "\"9762f8a803bc34f5340579d4446076f7\""
}

Par exemple, cette demande d'objet TÊTE a été utilisée pour obtenir les métadonnées du même objet dans le compartiment test.

aws s3api --endpoint-url <StorageGRID endpoint> head-object
--bucket testbucket --key obj2test2

La réponse de réussite inclut les métadonnées de l'objet et indique que l'objet expirera dans 100 jours et qu'il correspond à la règle 2.

{
      "AcceptRanges": "bytes",
      *"Expiration": "expiry-date=\"Thu, 01 Oct 2020 09:07:48 GMT\", rule-id=\"rule2\"",
      "LastModified": "2020-06-23T09:07:48+00:00",
      "ContentLength": 921,
      "ETag": "\"9762f8a803bc34f5340579d4446076f7\""
      "ContentType": "binary/octet-stream",
      "Metadata": {}
}
Informations associées

"Opérations sur les compartiments"