Créer un bucket

Lors de la création d'un bucket, vous pouvez spécifier son emplacement géographique, ainsi que sa classe de stockage.

Si vous tentez de créer un bucket avec un nom non valide, vous obtenez un code d'état 400 Bad Request et le corps de la réponse d'erreur indiquera InvalidBucketName dans la {101. }Code.

Vous ne pouvez créer un bucket que dans des projets pour lesquels vous disposez de l'autorisation. Par exemple, si vous disposez du rôle Administrateur de l'espace de stockage sur un projet, vous disposez de l'autorisation requise (storage.objects.create) pour créer des buckets.

De plus, comme l'espace de noms est global, le nom de votre bucket doit être unique dans l'ensemble de l'espace de noms Cloud Storage. Si le nom de votre bucket est utilisé, vous obtenez un code d'état 409 Conflit et la requête de création de bucket échoue. Le corps de la réponse d'erreur contient BucketAlreadyExists dans l'élément Code si le bucket existe déjà dans l'espace de noms ou contient un élément BucketAlreadyOwnedByYou dans l'élément Code. si le bucket vous appartient. Pour en savoir plus, consultez les pages Consignes relatives aux noms des buckets et Consignes relatives aux noms des objets.

Paramètres de la chaîne de requête

La requête n'inclut généralement pas les paramètres de chaîne de requête.

Consultez la section Paramètres de la chaîne de requête d'URL signée pour en savoir plus sur les paramètres que vous incluez lors de la création et de l'utilisation d'URL signées.

En-têtes de requête

En plus des en-têtes de requêtes courants, les éléments suivants peuvent être utilisés.

En-tête Description Requis
x-goog-acl Liste de contrôle d'accès (LCA) prédéfinie que vous souhaitez appliquer au bucket N'utilisez pas cette variable si vous utilisez le paramètre de chaîne de requête acl pour appliquer des LCA. Non
x-goog-bucket-retention-period Durée, en secondes, pendant laquelle les objets du bucket doivent être conservés avant de pouvoir être remplacés ou supprimés. Non
x-goog-project-id ID de projet. Obligatoire, sauf si vous avez défini le projet par défaut pour l'accès interopérable. Non

Éléments du corps de la requête

Les éléments de corps de requête suivants sont applicables lors de la création d'un bucket. Si vous ne spécifiez pas de corps de requête, Cloud Storage crée un bucket à l'emplacement US avec une classe de stockage STANDARD.

Élément Description
CreateBucketConfiguration Conteneur de requête de création de corps.
LocationConstraint L'emplacement du bucket
StorageClass La classe de stockage du bucket, telle que STANDARD, NEARLINE, COLDLINE ou ARCHIVE.

Syntaxe des requêtes

PUT / HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Authorization: AUTHENTICATION_STRING
x-goog-project-id: PROJECT_ID
x-goog-acl: PREDEFINED_ACL
x-goog-bucket-retention-period: TIME_IN_SECONDS

<CreateBucketConfiguration>
  <LocationConstraint>LOCATION</LocationConstraint>
  <StorageClass>STORAGE_CLASS</StorageClass>
</CreateBucketConfiguration>

En-têtes de réponse

La requête peut renvoyer divers en-têtes de réponse en fonction des en-têtes de requête que vous utilisez.

Éléments du corps de la réponse

La réponse n'inclut pas de document XML dans le corps de la réponse.

Exemple

L'exemple suivant crée un bucket de stockage standard nommé acme-pets dans l'emplacement aux États-Unis et dans le projet spécifié (aucun corps de requête spécifié).

Requête

PUT / HTTP/1.1
Host: acme-pets.storage.googleapis.com
Date: Mon, 15 Feb  2008 21:30:39 GMT
Content-Length: 0
x-goog-project-id: 123456789123
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
 
<CreateBucketConfiguration>
  <StorageClass>STANDARD</StorageClass>
</CreateBucketConfiguration>

Réponse

HTTP/1.1 200 OK
Date: Mon, 15 Feb 2010 12:30:40 GMT
Content-Length: 0