Créer, consulter et supprimer un bucket

Un bucket est le conteneur S3 dans lequel vous stockez les objets. Create bucket crée un bucket à usage général. Son nom et sa région sont choisis lors de la création ; S3Client ne permet pas de les changer ensuite. Les dossiers affichés à l’intérieur correspondent à des préfixes de clés.

Préparer la création

Utilisez un compte actif dont les identifiants disposent de la permission de création, par exemple s3:CreateBucket sur Amazon S3. Les régions proposées viennent des réglages du compte ; la région par défaut est présélectionnée.

Pour configurer les options conditionnelles, ouvrez File > Accounts…, sélectionnez le compte, cliquez sur Edit…, puis ouvrez Capabilities. Bucket creation contient Create buckets in the account regional namespace. Object Ownership contient Set Object Ownership when creating a bucket. Activez ces capacités seulement si le service prend en charge les demandes correspondantes. Elles ne remplacent pas les autorisations nécessaires.

Si Bucket creation > Creating an existing bucket may reset its ACL est activé, S3Client vérifie que vous ne possédez pas déjà un bucket de ce nom avant de le créer. Ce contrôle concerne les créations hors espace de noms régional, lorsque la région est us-east-1 ou qu’aucun code de région n’est renseigné. Il nécessite la permission de lister vos buckets (s3:ListAllMyBuckets sur Amazon S3). BucketAlreadyOwnedByYou indique qu’un bucket de ce nom vous appartient déjà. BucketOwnershipCheckFailed indique que le contrôle a échoué ; BucketOwnershipCheckIncomplete indique que la lecture de toutes les pages est désactivée ou ne progresse pas. Ces erreurs bloquent la création.

Créer un bucket

  1. Dans le panneau S3, hors mode Preview, sélectionnez le compte dans la vue arborescente, ou ouvrez sa liste de buckets dans la vue liste. Attendez la fin du chargement du compte.
  2. Cliquez sur Create bucket dans la barre d’outils ou dans le menu contextuel disponible.
  3. Choisissez Region.
  4. Saisissez Bucket name ou, si l’espace de noms est proposé, Bucket name prefix.
  5. Configurez les options ci-dessous si elles sont présentes.
  6. Cliquez sur Create lorsque les espaces de noms sont proposés, sinon sur OK.
  7. Attendez la fin de l’opération et vérifiez que le bucket apparaît sous le compte. En cas d’échec, consultez l’erreur de l’opération avant de recommencer.

Si le compte utilise une liste explicite de buckets, ajoutez le nouveau nom dans File > Accounts… > Edit… > Buckets > Add…, puis validez avec OK et actualisez le compte. Cette liste remplace la découverte des buckets du service.

Le nom complet doit contenir entre 3 et 63 caractères : lettres minuscules, chiffres, points et tirets. Il commence et se termine par une lettre ou un chiffre. Une adresse IP, deux points consécutifs et un point adjacent à un tiret sont refusés. Le service vérifie aussi la disponibilité et ses noms réservés.

Object Lock

Si le compte permet Create buckets with Object Lock, la boîte de création propose Enable Object Lock, décoché par défaut. Le cocher active définitivement Object Lock et le versionnement dès la création. Aucune rétention par défaut n’est définie par cette case. Voir Object Lock pour configurer les protections.

Espace de noms

Lorsque Bucket namespace est présent, deux choix sont proposés :

ChoixEffet
Account Regional namespace (recommended)Réserve le nom au compte dans la région choisie. S3Client ajoute -<Account ID>-<region>-an au préfixe.
Global namespaceLe nom doit être unique dans la partition S3 ; aucun suffixe n’est ajouté.

Dans File > Accounts… > Edit… > Account, renseignez Account ID avec les 12 chiffres du compte de service qui crée le bucket. Dans Regions > Edit, vérifiez Account Regional bucket namespace available pour la région choisie. Ces deux réglages et la capacité Create buckets in the account regional namespace sont nécessaires. Si les prérequis sont présents à l’ouverture, Account Regional namespace (recommended) est présélectionné ; sinon, ce choix est désactivé et Global namespace est sélectionné.

Le suffixe utilise le code Region, pas le nom local Name. Namespace suffix et Full bucket name sont en lecture seule. Le compteur indique la longueur disponible pour le préfixe, qui doit contenir au moins un caractère. Le nom complet ne doit pas dépasser 63 caractères ; changer de région ou d’espace de noms change la longueur disponible. Le suffixe fait partie du nom du bucket.

Dans ce dialogue, les préfixes xn--, sthree- et amzn-s3-demo- sont refusés. Avec Global namespace, les suffixes -s3alias, --ol-s3, .mrap, --x-s3, --table-s3 et -an sont aussi refusés.

Propriété des objets

Si Object Ownership est proposé, Mode contient :

  • Service default : aucun mode n’est envoyé ; le service applique sa valeur par défaut.
  • Bucket owner enforced : les ACL sont désactivées et le propriétaire du bucket possède les objets.
  • Bucket owner preferred : les ACL restent actives ; les objets envoyés avec bucket-owner-full-control appartiennent au propriétaire du bucket.
  • Object writer : les ACL restent actives ; le compte qui écrit l’objet en est propriétaire.

Service default est sélectionné au départ. Sur Amazon S3, un mode explicite demande aussi s3:PutBucketOwnershipControls. Il détermine si les ACL auront un effet sur l’accès.

Consulter l’identité et calculer le contenu

Le calcul liste le contenu sans télécharger les données. Il demande s3:ListBucket pour les objets courants et s3:ListBucketVersions pour l’historique. Avec Object versions, S3Client compte toutes les versions sauf si le bucket est connu comme jamais versionné. Si Read bucket versioning est disponible, il lit d’abord un état inconnu avec s3:GetBucketVersioning ; une erreur empêche d’obtenir un total complet. Sans cette capacité de lecture, il utilise directement la liste des versions.

  1. Dans le panneau S3, sélectionnez le bucket.
  2. Ouvrez Properties, puis General.
  3. Consultez Account, Bucket, Region, Creation date, et, lorsqu’ils sont disponibles, ARN, S3 URI, Owner name et Owner ID. Les boutons de copie permettent de récupérer les valeurs exactes. Not reported signifie que le service n’a pas fourni la donnée ; la date rapportée peut changer après une modification du bucket.
  4. Dans Content, cliquez sur Calculate.
  5. Attendez Calculation complete. avant d’utiliser le total. Cancel interrompt le calcul ; les résultats partiels ne décrivent pas tout le bucket.
  6. Ouvrez Details pour voir les marqueurs de dossiers, les versions non courantes et les marqueurs de suppression lorsque le versionnement est disponible.

La taille inclut les données des versions non courantes lorsque celles-ci sont énumérées. Les marqueurs de dossiers sont comptés séparément des objets ordinaires. Le calcul porte sur le contenu du bucket, pas seulement sur les lignes visibles après filtrage. Plusieurs buckets sélectionnés affichent un nombre de buckets et les informations communes.

Calculation cancelled. ou Calculation failed: indique que les résultats ont été effacés. Si le calcul a échoué, corrigez la cause de l’erreur, puis relancez Calculate. Le contenu du bucket peut changer pendant le calcul.

Préparer les propriétés du bucket

Ouvrez Properties sur un seul bucket pour accéder aux onglets disponibles. Dans Encryption, Current configuration affiche Mode:, KMS key:, Bucket Key: et SSE-C blocking:. Pending change présente séparément les modifications préparées, initialement No change. Le chiffrement par défaut concerne les nouvelles écritures ; il ne modifie pas les objets existants.

  1. Cliquez sur Change encryption… pour ouvrir Change encryption.
  2. Cochez Change default encryption pour choisir le chiffrement par défaut et ses paramètres. Dans SSE-C access, laissez Keep SSE-C blocking unchanged ou choisissez Block new SSE-C writes ou Allow new SSE-C writes, selon la prise en charge.
  3. Pour supprimer toute la configuration distante de chiffrement, y compris son réglage de blocage SSE-C, utilisez Delete remote encryption configuration si disponible. Les objets existants ne sont pas déchiffrés ; le service applique ses défauts.
  4. Cliquez sur Use settings pour revenir aux propriétés sans écrire sur S3.
  5. Vérifiez Pending change, puis cliquez sur OK dans les propriétés pour lancer l’enregistrement.

Cancel dans l’éditeur revient au choix précédemment confirmé. Cancel dans les propriétés abandonne ces changements préparés. Pour annuler une préparation, rouvrez Change encryption…, décochez Change default encryption et Delete remote encryption configuration, choisissez Keep SSE-C blocking unchanged, puis validez avec Use settings. Les capacités, permissions, options KMS et limites sont détaillées dans le chiffrement.

Les autres onglets suivent leurs propres conditions : versionnement et tags, ACL et propriété, Object Lock, cycle de vie et hébergement statique. Access logging possède des boutons d’application immédiate ; Cancel dans les propriétés n’annule pas une configuration déjà enregistrée depuis cet onglet. Voir la journalisation des accès.

Supprimer un bucket vide

Delete bucket ne vide pas le bucket. Retirez d’abord les objets, toutes les versions et les marqueurs de suppression. La suppression de versions est définitive ; les rétentions Object Lock ou blocages légaux peuvent empêcher de vider le bucket. Utilisez les commandes de nettoyage pour préparer cette étape et annuler les envois incomplets si nécessaire.

La permission s3:DeleteBucket est nécessaire sur Amazon S3. Un nom global libéré peut être repris par un autre compte ; un nom régional reste réservé au compte même après suppression. Ne comptez pas sur la possibilité de recréer le bucket.

Delete bucket est disponible seulement pour une sélection de buckets non externes dont le chargement est terminé et dont la liste chargée ne contient ni objet ni dossier. Après nettoyage, utilisez Refresh et attendez la fin du listing. Une vue courante vide ne prouve pas l’absence d’anciennes versions : le service vérifie aussi cette condition lors de la suppression.

  1. Dans le panneau S3, sélectionnez le ou les buckets à supprimer.
  2. Choisissez Delete bucket.
  3. Vérifiez les noms ou le nombre de buckets dans la confirmation, puis cliquez sur Yes.
  4. Contrôlez le résultat dans les opérations et dans la liste des buckets.

Si son nom reste dans la liste explicite Buckets du compte, retirez-le aussi de cette liste locale ; la suppression distante ne modifie pas cette configuration.

Une erreur BucketNotEmpty signifie que du contenu reste présent, éventuellement des versions invisibles dans la vue courante. Chaque bucket est supprimé séparément : la réussite sur l’un n’annule pas un échec sur un autre.