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 Google Cloud Console ou de gsutil.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 ajoutés au projet contenant le bucket.
Activer les paiements du demandeur
Pour activer les paiements du demandeur sur un bucket, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, sélectionnez celui sur lequel vous souhaitez activer la fonctionnalité, puis cliquez sur le bouton Désactivé dans la colonne Paiements du demandeur.
Dans la fenêtre qui s'affiche, cliquez sur Activer.
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.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Exécutez la commande gsutil requesterpays set on
:
gsutil requesterpays set on gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Par exemple, my-bucket
.
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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.
Créez un fichier
.json
contenant les informations suivantes :{ "billing": { "requesterPays": true } }
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -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 nom du fichier 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.
Créez un fichier
.xml
contenant les informations suivantes :<BillingConfiguration> <RequesterPays>Enabled</RequesterPays> </BillingConfiguration>
Utilisez
cURL
pour appeler l'API XML avec une requêtePUT
Bucket et le paramètre de chaîne de requêterequesterpays
:curl -X PUT --data-binary @XML_FILE_NAME.xml \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où :
XML_FILE_NAME
correspond au nom du fichier 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
.
Désactiver les paiements du demandeur
Pour désactiver les paiements du demandeur sur un bucket, procédez comme suit :
Console
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, sélectionnez celui sur lequel vous souhaitez désactiver la fonctionnalité, puis cliquez sur le bouton Activé dans la colonne Paiements du demandeur.
Dans la fenêtre qui s'affiche, cliquez sur Désactiver.
Une fois la fonctionnalité désactivée, la mention Désactivé accompagnée d'une bulle grise apparaît dans la colonne Paiements du demandeur du bucket.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Exécutez la commande gsutil requesterpays set off
:
gsutil requesterpays set off gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Par exemple, my-bucket
.
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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.
Créez un fichier
.json
contenant les informations suivantes :{ "billing": { "requesterPays": false } }
Exécutez
cURL
pour appeler l'API JSON avec une requête de bucketPATCH
:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -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 nom du fichier 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.
Créez un fichier
.xml
contenant les informations suivantes :<BillingConfiguration> <RequesterPays>Disabled</RequesterPays> </BillingConfiguration>
Exécutez
cURL
pour appeler l'API XML avec une requêtePUT
Bucket et le paramètre de chaîne de requêterequesterpays
:curl -X PUT --data-binary @XML_FILE_NAME.xml \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME?billing"
Où :
XML_FILE_NAME
correspond au nom du fichier 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
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur 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.
gsutil
Exécutez la commande gsutil requesterpays get
:
gsutil requesterpays get gs://BUCKET_NAME
Où BUCKET_NAME
est le nom du bucket concerné. Par exemple, my-bucket
.
Si les paiements du demandeur sont activés, la réponse se présente comme suit :
gs://my-bucket: Enabled
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
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.
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.
Utilisez
cURL
pour appeler l'API XML avec une requête de bucketGET
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
- Ouvrez le navigateur Cloud Storage dans Google Cloud Console.
Ouvrir le navigateur Cloud Storage Dans la liste des buckets, cliquez sur le nom du bucket qui contient l'objet à 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.
Consultez la page Dépannage pour obtenir des informations détaillées sur les erreurs liées aux opérations ayant échoué dans le navigateur Cloud Storage.
gsutil
Utilisez l'indicateur -u
dans votre requête :
gsutil -u PROJECT_ID cp gs://BUCKET_NAME/OBJECT_NAME OBJECT_DESTINATION
Où :
PROJECT_ID
correspond à l'ID du projet à facturer. Par exemple,my-project
;BUCKET_NAME
correspond au nom du bucket concerné. Par exemple,my-bucket
;OBJECT_NAME
correspond au nom de l'objet que vous souhaitez télécharger. Par exemple,pets/dog.png
;OBJECT_DESTINATION
correspond à l'emplacement où vous voulez enregistrer l'objet. Par exemple,Desktop/dog.png
.
Exemples de code
C++
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.
C#
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.
Go
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.
Java
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.
Node.js
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.
PHP
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.
Python
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.
Ruby
Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.
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.
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_ID"
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 que vous souhaitez télécharger. Par exemple,pets/dog.png
;PROJECT_ID
correspond à l'ID 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.
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 que vous souhaitez télécharger. Par exemple,pets/dog.png
.
Étape suivante
- En savoir plus sur l'option Paiements du demandeur.
- Rendre les données publiques