Cette page explique comment importer des objets dans votre bucket Cloud Storage à partir de votre système de fichiers local. Un objet importé se compose des données que vous souhaitez stocker ainsi que des métadonnées associées. Pour obtenir une présentation du concept, y compris comment choisir la méthode d'importation optimale en fonction de la taille de votre fichier, consultez la page Importations et téléchargements.
Pour obtenir des instructions sur l'importation depuis la mémoire, consultez la page Importer des objets à partir de la mémoire.
Rôles requis
Pour obtenir les autorisations nécessaires pour importer des objets dans un bucket, demandez à votre administrateur de vous attribuer le rôle IAM "Utilisateur d'objets Storage" (roles/storage.objectUser
) pour le bucket. Ce rôle prédéfini contient les autorisations requises pour importer un objet dans un bucket. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.objects.create
storage.objects.delete
- Cette autorisation n'est requise que pour les importations qui écrasent un objet existant.
storage.objects.get
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la Google Cloud CLI pour effectuer les tâches décrites sur cette page.
storage.objects.list
- Cette autorisation n'est nécessaire que si vous prévoyez d'utiliser la Google Cloud CLI pour effectuer les tâches décrites sur cette page. Cette autorisation est également requise si vous souhaitez utiliser la console Google Cloud pour valider les objets que vous avez importés.
Si vous prévoyez d'utiliser la console Google Cloud pour effectuer les tâches de cette page, vous devez également disposer de l'autorisation storage.buckets.list
, qui n'est pas incluse dans le rôle "Utilisateur d'objets Storage" (roles/storage.objectUser
). Pour obtenir cette autorisation, demandez à votre administrateur de vous attribuer le rôle "Administrateur de l'espace de stockage" (roles/storage.admin
) sur le projet.
Vous pouvez également obtenir ces autorisations en utilisant d'autres rôles prédéfinis ou des rôles personnalisés.
Pour en savoir plus sur l'attribution de rôles dans des buckets, consultez la page Utiliser IAM avec des buckets.
Importer un objet dans un bucket
Pour importer un objet dans un bucket, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket dans lequel vous souhaitez importer un objet.
Dans l'onglet Objets du bucket, exécutez l'une des actions suivantes :
Faites glisser des fichiers de votre bureau ou de votre gestionnaire de fichiers vers le volet principal de la console Google Cloud.
Cliquez sur le bouton Importer des fichiers, sélectionnez les fichiers que vous souhaitez importer dans la boîte de dialogue qui s'affiche, puis cliquez sur Ouvrir.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées aux opérations Cloud Storage ayant échoué dans la console Google Cloud, consultez la section Dépannage.
Ligne de commande
Exécutez la commande gcloud storage cp
:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME
Où :
OBJECT_LOCATION
correspond au chemin d'accès local à votre objet. Exemple :Desktop/dog.png
DESTINATION_BUCKET_NAME
correspond au nom du bucket dans lequel vous importez votre objet. Exemple :my-bucket
.
Si l'opération réussit, la réponse se présente comme suit :
Completed files 1/1 | 164.3kiB/164.3kiB
Vous pouvez définir des métadonnées d'objet à clé fixe et personnalisées dans le cadre de l'importation de vos objets à l'aide d'options de ligne de commande.
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 la page Configurer l'authentification pour les 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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant lance l'importation d'un objet individuel :
L'exemple suivant lance l'importation simultanée de plusieurs objets :
L'exemple suivant lance l'importation simultanée de tous les objets ayant un préfixe commun :
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant lance l'importation d'un objet individuel :
L'exemple suivant lance l'importation simultanée de plusieurs objets :
L'exemple suivant lance l'importation simultanée de tous les objets ayant un préfixe commun :
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 la page Configurer l'authentification pour les bibliothèques clientes.
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 la page Configurer l'authentification pour les bibliothèques clientes.
L'exemple suivant lance l'importation d'un objet individuel :
L'exemple suivant lance l'importation simultanée de plusieurs objets :
L'exemple suivant lance l'importation simultanée de tous les objets ayant un préfixe commun :
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 la page Configurer l'authentification pour les bibliothèques clientes.
Terraform
Vous pouvez utiliser une ressource Terraform pour importer un objet.
Vous devez indiquer soit content
, soit source
.
API REST
API JSON
L'API JSON fait la distinction entre les importations de fichiers multimédias, dans lesquelles seules les données d'objet sont incluses dans la requête, et les importations en plusieurs parties de l'API JSON, dans lesquelles les données d'objet et les métadonnées d'objet sont toutes incluses dans la requête.
Importation de contenus multimédias (importation d'une requête unique sans métadonnées d'objet)
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API JSON avec une requêtePOST
Object:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
Où :
OBJECT_LOCATION
correspond au chemin d'accès local à votre objet. Exemple :Desktop/dog.png
OBJECT_CONTENT_TYPE
correspond au type de contenu de l'objet. Exemple :image/png
BUCKET_NAME
correspond au nom du bucket dans lequel vous importez votre objet. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé en URL que vous souhaitez attribuer à l'objet. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.
Importation en plusieurs parties avec l'API JSON (importation d'une requête unique incluant des métadonnées d'objet)
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Créez un fichier
multipart/related
contenant les informations suivantes:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
Où :
BOUNDARY_STRING
est une chaîne que vous définissez et qui identifie les différentes parties du fichier multipart. Par exemple,separator_string
.OBJECT_METADATA
correspond aux métadonnées que vous souhaitez inclure pour le fichier, au format JSON. Au minimum, cette section doit inclure un attributname
pour l'objet, par exemple{"name": "myObject"}
.OBJECT_CONTENT_TYPE
correspond au type de contenu de l'objet. Par exemple,text/plain
.OBJECT_DATA
correspond aux données de l'objet.
Exemple :
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--
Utilisez
cURL
pour appeler l'API JSON avec une requête d'objetPOST
:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"
Où :
MULTIPART_FILE_LOCATION
correspond au chemin d'accès local au fichier multipart que vous avez créé à l'étape 2. Exemple :Desktop/my-upload.multipart
.BOUNDARY_STRING
correspond à la chaîne de limite que vous avez définie à l'étape 2. Par exemple,my-boundary
.MULTIPART_FILE_SIZE
correspond à la taille totale, en octets, du fichier multipart que vous avez créé à l'étape 2. Exemple :2000000
.BUCKET_NAME
correspond au nom du bucket dans lequel vous importez votre objet. Exemple :my-bucket
Si la requête aboutit, le serveur affiche le code d'état HTTP 200 OK
avec les métadonnées du fichier.
API XML
Vous devez installer et initialiser gcloud CLI, ce qui vous permet de générer un jeton d'accès pour l'en-tête
Authorization
.Utilisez
cURL
pour appeler l'API XML avec une requêtePUT
Object:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Où :
OBJECT_LOCATION
correspond au chemin d'accès local à votre objet. Exemple :Desktop/dog.png
OBJECT_CONTENT_TYPE
correspond au type de contenu de l'objet. Exemple :image/png
BUCKET_NAME
correspond au nom du bucket dans lequel vous importez votre objet. Exemple :my-bucket
OBJECT_NAME
correspond au nom encodé en URL que vous souhaitez attribuer à l'objet. Par exemple,pets/dog.png
, encodé au format URL :pets%2Fdog.png
.
Vous pouvez définir des métadonnées d'objet supplémentaires dans le cadre de votre importation d'objet dans les en-têtes de la requête, de la même façon que l'exemple précédent définit Content-Type
. Avec l'API XML, vous ne pouvez définir les métadonnées qu'au moment de l'écriture de l'objet (lors d'une importation, d'une copie ou d'un remplacement, entre autres). Pour en savoir plus, consultez la section Modifier des métadonnées d'objets.
Étape suivante
- Apprenez-en plus sur les exigences de dénomination des objets.
- Découvrez comment utiliser des dossiers pour organiser vos objets.
- Transférez des objets depuis votre instance Compute Engine.
- Transférez des données depuis des fournisseurs de cloud ou d'autres sources en ligne, telles que des listes d'URL
- Contrôlez l'accès à vos objets et à vos buckets.
- Affichez les métadonnées de votre objet, y compris son URL.
Faites l'essai
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Cloud Storage en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Profiter d'un essai gratuit de Cloud Storage