Cette page explique comment configurer les paiements du demandeur et donne un exemple de requête sur un bucket exploitant cette fonctionnalité.
Configurer les paiements du demandeur
Les sections suivantes expliquent comment activer et désactiver les paiements du demandeur, et montrent comment vérifier si cette fonctionnalité est activée sur un bucket.
Prérequis
Vous devez disposer de l'autorisation
storage.buckets.get
, qui permet d'obtenir l'état des paiements du demandeur sur un bucket. Elle est également requise pour l'activation ou la désactivation de la fonctionnalité à l'aide de la console Google Cloud ou de Google Cloud CLI.Pour activer ou désactiver les paiements du demandeur, vous devez disposer de l'autorisation
storage.buckets.update
.Pour désactiver les paiements du demandeur, vous devez spécifier un projet de facturation dans votre requête ou disposer de l'autorisation
resourcemanager.projects.createBillingAssignment
. Consultez la section Exigences relatives à l'utilisation et aux accès pour en savoir plus.
Les autorisations sont accordées aux utilisateurs via des rôles. Par exemple, les utilisateurs dotés du rôle Administrateur de l'espace de stockage disposent de toutes les autorisations storage.buckets
ci-dessus. Les rôles peuvent être attribués sur le projet contenant le bucket.
Définir les paiements du demandeur
Pour activer ou désactiver les paiements du demandeur sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, recherchez celui que vous souhaitez définir et recherchez la colonne Paiements du demandeur.
La valeur de la colonne indique l'état actuel des paiements du demandeur pour ce bucket.
Cliquez sur l'état actuel des paiements du demandeur pour le bucket souhaité.
Dans la fenêtre qui apparaît, cliquez sur Activer ou Désactiver selon l'état pour lequel vous souhaitez définir les paiements du demandeur.
Une fois la fonctionnalité activée, la mention Activé accompagnée d'une bulle verte apparaît dans la colonne Paiements du 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 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 buckets update
avec l'option appropriée :
gcloud storage buckets update gs://BUCKET_NAME FLAG
Où :
BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.FLAG
correspond soit à--requester-pays
pour activer les paiements du demandeur, soit à "--no-requester-pays" pour 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 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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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.
L'exemple suivant active les paiements du demandeur sur un bucket :
L'exemple suivant désactive les paiements du demandeur sur un bucket :
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 :
{ "billing": { "requesterPays": STATE } }
où STATE est
true
oufalse
.Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Où :
JSON_FILE_NAME
correspond au chemin d'accès au fichier JSON que vous avez créé à l'étape 2.OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
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 :
<BillingConfiguration> <RequesterPays>STATE</RequesterPays> </BillingConfiguration>
où STATE est
Enabled
ouDisabled
.Utilisez
cURL
pour appeler l'API XML avec une requêtePUT
Bucket et le paramètre de chaîne de requêtebilling
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où :
XML_FILE_NAME
correspond au chemin d'accès au fichier XML que vous avez créé à l'étape 2.OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1.BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.
Vérifier si les paiements du demandeur sont activés
Pour vérifier si les paiements du demandeur sont activés sur un bucket, procédez comme suit :
Console
- Dans la console Google Cloud, accédez à la page Buckets Cloud Storage.
Dans la liste des buckets, l'état des paiements du demandeur de chaque bucket est indiqué dans la colonne Paiements du demandeur.
Si la fonctionnalité est activée, l'état est affiché en vert et le mot Activer apparaît.
Ligne de commande
Exécutez la commande gcloud storage buckets describe
avec l'option --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 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.
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.
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketGET
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=billing"
Où :
OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1 ;BUCKET_NAME
correspond au nom du bucket concerné. Exemple :my-bucket
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.
Utilisez
cURL
pour appeler l'API XML avec une requêteGET
Bucket et le paramètre de chaîne de requêtebilling
:curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où :
OAUTH2_TOKEN
correspond au nom du jeton d'accès que vous avez généré à l'étape 1 ;BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.
Accéder aux buckets exploitant les paiements du 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 du demandeur. Vous pouvez suivre une procédure semblable pour exécuter d'autres requêtes sur un bucket où les paiements du 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 du Navigateur 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 aux opérations Cloud Storage ayant échoué dans la console Google Cloud, consultez la section Dépannage.
Ligne de commande
Utilisez l'indicateur --billing-project
dans votre requête :
gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION --billing-project=PROJECT_IDENTIFIER
Où :
BUCKET_NAME
correspond au nom du bucket contenant l'objet que vous téléchargez. Exemple :my-bucket
OBJECT_NAME
correspond au nom de l'objet que vous téléchargez. Exemple :pets/dog.png
SAVE_TO_LOCATION
correspond au chemin d'accès local où vous enregistrez l'objet. Par exemple,Desktop/Images
.PROJECT_IDENTIFIER
correspond à 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 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.
Dans votre requête, incluez le paramètre de chaîne de requête
userProject
défini sur l'ID du projet à facturer :curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media&userProject=PROJECT_IDENTIFIER"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1 ;SAVE_TO_LOCATION
correspond à l'emplacement où vous voulez enregistrer l'objet. Par exemple,Desktop/dog.png
.BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.OBJECT_NAME
correspond 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_IDENTIFIER
correspond à l'ID ou au numéro du projet à facturer. Par exemple,my-project
.
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.
Dans votre requête, incluez l'en-tête
x-goog-user-project
défini sur l'ID du projet à facturer :curl -X GET \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-user-project: PROJECT_ID" \ -o "SAVE_TO_LOCATION" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Où :
OAUTH2_TOKEN
correspond au jeton d'accès que vous avez généré à l'étape 1 ;PROJECT_ID
correspond à l'ID du projet à facturer. Par exemple,my-project
.SAVE_TO_LOCATION
correspond à l'emplacement où vous voulez enregistrer l'objet. Par exemple,Desktop/dog.png
.BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
.OBJECT_NAME
correspond 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
.
Étape suivante
- En savoir plus sur l'option Paiements du demandeur.
- Rendre les données publiques