Cette page explique comment activer et désactiver les paiements par le demandeur, et comment vérifier si cette fonctionnalité est activée sur un bucket.
Rôles requis
Pour obtenir les autorisations requises pour définir et gérer les paiements par le demandeur, demandez à votre administrateur de vous accorder le rôle "Administrateur de l'espace de stockage" (roles.storage.Admin) sur le projet contenant le bucket.
Ce rôle contient les autorisations requises pour définir et gérer les paiements par le demandeur. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
storage.buckets.getstorage.buckets.updateresourcemanager.projects.createBillingAssignment- Cette autorisation n'est requise que si vous ne disposez pas d'un compte de facturation à utiliser pour désactiver les paiements par le demandeur. Pour en savoir plus, consultez Conditions d'utilisation et d'accès.
Vous pouvez également obtenir ces autorisations avec d'autres rôles prédéfinis ou rôles personnalisés.
Pour savoir comment attribuer des rôles aux projets, consultez la section Attribuer ou révoquer un rôle.
Définir les paiements par le demandeur
Pour activer ou désactiver les paiements par le demandeur sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, recherchez celui que vous souhaitez définir et recherchez la colonne Paiements par le demandeur.
La valeur de la colonne indique l'état actuel des paiements par le demandeur pour ce bucket.
Cliquez sur l'état actuel des paiements par le demandeur pour le bucket.
Dans la fenêtre qui apparaît, cliquez sur Activer ou Désactiver selon l'état pour lequel vous souhaitez définir les paiements par le demandeur.
Lorsque la fonctionnalité est activée, la mention Activé accompagnée d'une bulle verte apparaît dans la colonne paiements par le demandeur du bucket. Lorsqu'elle est désactivée, une bulle grise et la mention Désactivé apparaissent dans la colonne.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.
Ligne de commande
Exécutez la commande gcloud storage buckets update avec le flag approprié :
gcloud storage buckets update gs://BUCKET_NAME FLAG
Où :
BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.FLAGcorrespond soit à--requester-payspour activer les paiements par le demandeur, soit à--no-requester-payspour les désactiver.
Si l'opération réussit, la réponse se présente comme suit :
Updating gs://my-bucket/... Completed 1
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
C#
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
Go
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
Java
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
Node.js
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
PHP
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
Python
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
Ruby
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
L'exemple suivant active les paiements par le demandeur sur un bucket :
L'exemple suivant désactive les paiements par le demandeur sur un bucket :
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier JSON contenant les informations suivantes :
{ "billing": { "requesterPays": STATE } }
où STATE est
trueoufalse.Utilisez
cURLpour appeler l'API JSON avec une requête de bucketPATCH:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Où :
JSON_FILE_NAMEcorrespond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.
API XML
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Créez un fichier XML contenant les informations suivantes :
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
où STATE est
EnabledouDisabled.Utilisez
cURLpour appeler l'API XML avec une requête de bucketPUTet un paramètre de chaîne de requêtebilling:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où :
XML_FILE_NAMEcorrespond au chemin d'accès au fichier XML que vous avez créé à l'étape 2.BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.
Vérifier si les paiements par le demandeur sont activés
Pour vérifier si les paiements par le demandeur sont activés sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, l'état des paiements par le demandeur de chaque bucket est indiqué dans la colonne paiements par le demandeur.
Si la fonctionnalité est activée, l'état est affiché en vert et le mot Activé apparaît.
Ligne de commande
Exécutez la commande gcloud storage buckets describe avec le flag --format :
gcloud storage buckets describe gs://BUCKET_NAME --format="default(requester_pays)"
Où BUCKET_NAME correspond au nom du bucket dont vous souhaitez afficher l'état. Par exemple, my-bucket.
Si l'opération réussit, la réponse se présente comme suit :
requester_pays: true
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
C#
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Go
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Java
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Node.js
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Python
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API JSON avec une requête de bucketGET:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Où
BUCKET_NAMEest le nom du bucket concerné. Par exemple,my-bucket.
API XML
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Utilisez
cURLpour appeler l'API XML avec une requête de bucketGETet un paramètre de chaîne de requêtebilling:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où
BUCKET_NAMEest le nom du bucket concerné. Par exemple,my-bucket.
Accéder aux buckets sur lesquels sont activés les paiements par le demandeur
L'exemple suivant décrit comment inclure un projet de facturation pour pouvoir télécharger un objet stocké dans un bucket exploitant les paiements par le demandeur. Vous pouvez suivre une procédure semblable pour exécuter d'autres requêtes sur un bucket où les paiements par le demandeur sont activés ou sur les objets qu'il contient. Consultez la section Exigences relatives à l'utilisation et aux accès pour connaître les conditions préalables.
Console
- Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.
Dans la liste des buckets, cliquez sur le nom du bucket qui contient l'objet que vous souhaitez télécharger.
Dans la fenêtre qui apparaît, sélectionnez un projet de facturation à l'aide du menu déroulant.
Cochez la case pour confirmer que vous êtes autorisé à utiliser le projet sélectionné à des fins de facturation.
Cliquez sur Enregistrer.
Téléchargez l'objet comme vous le feriez normalement.
Pour savoir comment obtenir des informations détaillées sur les erreurs liées à l'échec des opérations Cloud Storage dans la console Google Cloud , consultez Dépannage.
Ligne de commande
Utilisez le flag --billing-project dans votre requête :
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
Où :
BUCKET_NAMEcorrespond au nom du bucket contenant l'objet que vous téléchargez. Par exemple,my-bucket.OBJECT_NAMEcorrespond au nom de l'objet que vous téléchargez. Par exemple,pets/dog.png.SAVE_TO_LOCATIONcorrespond au chemin d'accès local où vous enregistrez l'objet. Par exemple,Desktop/Images.PROJECT_IDENTIFIERcorrespond à l'ID ou au numéro du projet à facturer. Par exemple,my-project.
Bibliothèques clientes
C++
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
C#
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Go
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Java
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Node.js
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
PHP
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Python
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
Ruby
Pour en savoir plus, consultez la documentation de référence de 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 les bibliothèques clientes.
API REST
API JSON
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Dans votre requête, incluez le paramètre de chaîne de requête
userProjectdéfini sur l'ID du projet à facturer :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
Où :
SAVE_TO_LOCATIONcorrespond à l'emplacement où vous souhaitez enregistrer l'objet. Par exemple,Desktop/dog.png.BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.OBJECT_NAMEcorrespond au nom de l'objet encodé en URL que vous souhaitez télécharger. Par exemple,pets/dog.png, encodé au format URL :pets%2Fdog.png.PROJECT_IDENTIFIERcorrespond à l'ID ou au numéro du projet à facturer. Par exemple,my-project.
API XML
Vous devez installer et initialiser la gcloud CLI afin de générer un jeton d'accès pour l'en-tête
Authorization.Dans votre requête, incluez l'en-tête
x-goog-user-projectdéfini sur l'ID du projet à facturer :curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Où :
PROJECT_IDcorrespond à l'ID du projet à facturer. Par exemple,my-project.SAVE_TO_LOCATIONcorrespond à l'emplacement où vous voulez enregistrer l'objet. Par exemple,Desktop/dog.png.BUCKET_NAMEcorrespond au nom du bucket concerné. Par exemple,my-bucket.OBJECT_NAMEcorrespond au nom de l'objet encodé en URL que vous souhaitez télécharger. Par exemple,pets/dog.png, encodé au format URL :pets%2Fdog.png.