Cette page vous explique comment composer des objets Cloud Storage en un seul objet. Une requête de composition prend entre 1 et 32 objets et crée un objet composite. L'objet composite est une concaténation des objets sources dans l'ordre dans lequel ils ont été spécifiés dans la requête.
Tenez compte des points suivants lorsque vous composez des objets :
- Les objets sources ne sont pas affectés par le processus de composition. Si ces objets sont censés être temporaires, vous devez les supprimer lorsque vous avez terminé la composition.
- Comme les autres classes de stockage sont soumises à des frais de suppression anticipée, vous devez toujours utiliser le stockage standard pour les objets temporaires.
Autorisations requises
Console
La console Google Cloud n'est pas compatible avec la composition d'objets. Utilisez plutôt la Google Cloud CLI.
Ligne de commande
Pour suivre ce guide à l'aide d'un utilitaire de ligne de commande, vous devez disposer des autorisations IAM appropriées. Si les buckets auxquels vous souhaitez accéder se trouvent dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les commandes gcloud storage
.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Bibliothèques clientes
Pour suivre ce guide à l'aide des bibliothèques clientes Cloud Storage, vous devez disposer des autorisations IAM appropriées. Si les buckets auxquels vous souhaitez accéder se trouvent dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Sauf indication contraire, les requêtes de bibliothèque cliente sont effectuées via l'API JSON et nécessitent des autorisations, comme indiqué dans la section Autorisations IAM pour les méthodes JSON. Pour savoir quelles méthodes d'API JSON sont appelées lorsque vous envoyez des requêtes à l'aide d'une bibliothèque cliente, consignez les requêtes brutes.
Pour obtenir la liste des rôles IAM pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
API REST
API JSON
Pour suivre ce guide à l'aide de l'API JSON, vous devez disposer des autorisations IAM appropriées. Si les buckets auxquels vous souhaitez accéder se trouvent dans un projet que vous n'avez pas créé, vous devrez peut-être demander au propriétaire du projet qu'il vous attribue un rôle contenant les autorisations nécessaires.
Pour obtenir la liste des autorisations requises pour des actions spécifiques, consultez la page Autorisations IAM pour les méthodes JSON.
Pour obtenir la liste des rôles pertinents, consultez la page Rôles Cloud Storage. Vous pouvez également créer un rôle personnalisé disposant d'autorisations limitées spécifiques.
Créer un objet composite
Console
La console Google Cloud n'est pas compatible avec la composition d'objets. Utilisez plutôt la Google Cloud CLI.
Ligne de commande
Exécutez la commande gcloud storage objects compose
:
gcloud storage objects compose gs://BUCKET_NAME/SOURCE_OBJECT_1 gs://BUCKET_NAME/SOURCE_OBJECT_2 gs://BUCKET_NAME/COMPOSITE_OBJECT_NAME
Où :
BUCKET_NAME
est le nom du bucket qui contient les objets sources ;SOURCE_OBJECT_1
etSOURCE_OBJECT_2
sont les noms des objets sources à utiliser dans la composition de l'objet ;COMPOSITE_OBJECT_NAME
est le nom que vous donnez au résultat de la composition d'objet.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
Pour vous authentifier auprès de Cloud Storage, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
API REST
API JSON
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Créez un fichier JSON contenant les informations suivantes :
{ "sourceObjects": [ { "name": "SOURCE_OBJECT_1" }, { "name": "SOURCE_OBJECT_2" } ], "destination": { "contentType": "COMPOSITE_OBJECT_CONTENT_TYPE" } }
Où :
SOURCE_OBJECT_1
etSOURCE_OBJECT_2
sont les noms des objets sources à utiliser dans la composition de l'objet.COMPOSITE_OBJECT_CONTENT_TYPE
est le Content-Type de l'objet composite obtenu.
Exécutez la commande
cURL
pour appeler l'API JSON avec une requêtePOST
Object :curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/COMPOSITE_OBJECT_NAME/compose"
Où :
JSON_FILE_NAME
est le nom du fichier que vous avez créé à l'étape précédente.OAUTH2_TOKEN
est le jeton d'accès généré plus tôt dans le guide.BUCKET_NAME
est le nom du bucket qui contient les objets sources.COMPOSITE_OBJECT_NAME
est le nom que vous donnez au résultat de la composition d'objet.
Si la requête aboutit, la réponse est une ressource d'objet pour l'objet composite obtenu.
API XML
- Obtenez un jeton d'autorisation d'accès sur la page OAuth 2.0 Playground. Configurez Playground pour utiliser vos propres identifiants OAuth. Pour obtenir des instructions, consultez la page Authentification des API.
Créez un fichier XML contenant les informations suivantes :
<ComposeRequest> <Component> <Name>SOURCE_OBJECT_1</Name> </Component> <Component> <Name>SOURCE_OBJECT_2</Name> </Component> </ComposeRequest>
Où :
SOURCE_OBJECT_1
etSOURCE_OBJECT_2
sont les noms des objets sources à utiliser dans la composition de l'objet.
Utilisez
cURL
pour appeler l'API XML avec une requête d'objetPUT
et un paramètre de chaîne de requêtecompose
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: COMPOSITE_OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/COMPOSITE_OBJECT_NAME?compose"
Où :
XML_FILE_NAME
est le nom du fichier que vous avez créé à l'étape précédente.OAUTH2_TOKEN
est le jeton d'accès généré plus tôt dans le guide.COMPOSITE_OBJECT_CONTENT_TYPE
est le Content-Type de l'objet composite obtenu.BUCKET_NAME
est le nom du bucket qui contient les objets sources.COMPOSITE_OBJECT_NAME
est le nom que vous donnez au résultat de la composition d'objet.
Si la requête aboutit, un corps de réponse vide est renvoyé.
Étape suivante
- Apprenez-en plus sur la composition d'objets.
- Découvrez comment utiliser les conditions préalables de requête pour éviter les conditions de concurrence.