Importation d'objets

Pour importer un objet avec l'API XML, envoyez une requête PUT dont le champ d'application est défini à partir d'un nom de bucket et du nom de l'objet, puis ajoutez les données de l'objet dans le corps de la requête. L'objet importé remplace tout objet existant portant le même nom. Pour obtenir des conseils sur l'importation dans Cloud Storage, consultez la page Bonnes pratiques. Pour un guide rapide sur les importations simples à l'aide d'outils tels que l'API XML, consultez la page Importer des objets.

La requête d'objet PUT utilise plusieurs en-têtes HTTP standards. Content-Length spécifie la taille de l'objet en octets et est requise, sauf si vous utilisez l'encodage de transfert fragmenté. Les en-têtes facultatifs incluent Content-Type, Content-MD5 et ceux répertoriés ci-dessous. Cloud Storage stocke ces en-têtes dans les métadonnées de l'objet, à l'exception de Content-MD5, que Cloud Storage utilise pour vérifier l'intégrité des données. Consultez la section Modifier des métadonnées d'objets pour en savoir plus sur la modification des valeurs de métadonnées des objets.

Vous devez également utiliser une requête d'objet PUT pour modifier lesclasse de stockage d'un objet existant, car vous devez réécrire l'objet existant pour le faire. La requête doit contenir lex-goog-storage-class en-tête de requête , ainsi que l'objet dans le corps de la requête.

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
Cache-Control Les conditions dans lesquelles un objet accessible publiquement doit être mis en cache. Cache-Control permet également de déterminer si un objet peut être transformé. Non
Content-Disposition Un en-tête qui spécifie des informations de présentation sur la manière dont les données de l'objet doivent être transmises. Non
Content-Encoding Algorithme de compression utilisé pour compresser l'objet que vous importez. Non
Content-Language Code de langue ISO 639-1 du contenu. Non
x-goog-acl La LCA prédéfinie que vous souhaitez appliquer à l'objet. Non
x-goog-custom-time Date et heure spécifiées par l'utilisateur. Non
x-goog-encryption-kms-key-name Clé de chiffrement gérée par le client à utiliser pour chiffrer l'objet. Non
x-goog-meta- Un en-tête d'extension permettant de stocker des métadonnées personnalisées. Non
x-goog-storage-class Une classe de stockage valide Non

Pour fournir une clé de chiffrement fournie par le client lors de l'importation de l'objet, utilisez les en-têtes répertoriés sur la page "Clé de chiffrement fournie par le client" de votre requête.

Éléments du corps de la requête

Le corps de la requête contient les données.

Syntaxe des requêtes

La syntaxe suivante s'applique aux requêtes d'objet PUT n'utilisant pas de paramètres de chaîne de requête et exclut l'en-tête de requête x-goog-copy-source.

PUT /OBJECT_NAME HTTP/1.1
Host: BUCKET_NAME.storage.googleapis.com
Date: DATE
Content-Length: REQUEST_BODY_LENGTH
Content-Type: MIME_TYPE
Content-MD5: MD5_DIGEST
Authorization: AUTHENTICATION_STRING
x-goog-storage-class: STORAGE_CLASS

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 importe un objet nommé "paris.jpg" dans un bucket nommé "travel-maps".

Requête

PUT /paris.jpg HTTP/1.1
Host: travel-maps.storage.googleapis.com
Date: Sat, 20 Feb 2010 16:31:08 GMT
Content-Type: image/jpg
Content-MD5: iB94gawbwUSiZy5FuruIOQ==
Content-Length: 554
Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg

Réponse

HTTP/1.1 200 OK
ETag: "881f7881ac1bc144a2672e45babb8839"
Date: Sat, 20 Feb 2010 16:31:09 GMT
Content-Length: 0
Content-Type: text/html

Codes d'erreur courants

Si vous essayez d'importer un objet dans un bucket qui n'existe pas, vous obtenez un code d'état 404 Not Found et le corps de la réponse d'erreur indique NoSuchBucket dans la Code.

Si le condensé MD5 fourni est incorrect, vous obtenez un code d'état 400 Bad Request et le corps de la réponse d'erreur comporte InvalidDigest dans l'élément Code.

Si le condensé ne correspond pas au condensé que nous calculons à partir du corps, vous obtenez un code d'état 400 Bad Request et le corps de la réponse d'erreur indique BadDigest dans la section Code.