Points de terminaison de requêtes

Cette page explique les différents points de terminaison de requêtes (URI) que vous pouvez utiliser pour accéder à Cloud Storage.

Requêtes API classiques

Lorsque vous envoyez des requêtes directement à l'une des API Cloud Storage, utilisez les URI suivants :

API JSON

  • Pour les requêtes d'API JSON générales, à l'exclusion des importations d'objets, utilisez le point de terminaison suivant, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    https://storage.googleapis.com/storage/v1/PATH_TO_RESOURCE
  • Pour les importations d'objets d'API JSON, utilisez le point de terminaison suivant, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o
  • Pour les requêtes par lot, utilisez le point de terminaison suivant, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    https://storage.googleapis.com/batch/storage/v1/PATH_TO_RESOURCE
  • Si vous souhaitez télécharger des objets de l'API JSON, vous pouvez éventuellement utiliser le point de terminaison suivant, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    https://storage.googleapis.com/download/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media

Les points de terminaison de l'API JSON n'acceptent que les requêtes HTTPS.

API XML

  • Pour les requêtes d'API XML, vous pouvez utiliser un point de terminaison de type hébergé virtuellement ou avec chemin, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    Hébergé virtuellement :

    https://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME
    Avec chemin :
    https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME

Pour les importations et les téléchargements, Cloud Storage peut éventuellement proposer des points de terminaison d'API XML dédiés. Ces points de terminaison d'importation et de téléchargement peuvent offrir un petit avantage en termes de performances lors du transfert d'un volume important de données.

  • Pour les importations, vous pouvez utiliser un point de terminaison de type hébergé virtuellement ou avec chemin, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    Hébergé virtuellement :

    https://BUCKET_NAME.storage-upload.googleapis.com/OBJECT_NAME
    Avec chemin :
    https://storage-upload.googleapis.com/BUCKET_NAME/OBJECT_NAME

  • Pour les téléchargements, vous pouvez utiliser un point de terminaison de type hébergé virtuellement ou avec chemin, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

    Hébergé virtuellement :

    https://BUCKET_NAME.storage-download.googleapis.com/OBJECT_NAME
    Avec chemin :
    https://storage-download.googleapis.com/BUCKET_NAME/OBJECT_NAME

Tous les points de terminaison de l'API XML sont compatibles avec le chiffrement SSL, ce qui signifie que vous pouvez utiliser HTTP ou HTTPS. L'utilisation de HTTPS est toutefois recommandée, en particulier si vous vous authentifiez auprès de Cloud Storage à l'aide d'OAuth 2.0.

Pour connaître les pratiques recommandées dans le cas de connexions via un proxy, consultez la rubrique dédiée de la page Dépannage.

Encoder des parties de chemin d'URI

En plus des considérations générales à prendre en compte pour les noms de buckets et les noms d'objets, vous devez encoder les caractères suivants lorsqu'ils s'affichent dans le nom d'objet ou la chaîne de requête d'un URI de requête afin d'assurer la compatibilité entre les outils Cloud Storage :

!, #, $, &, ', (, ), *, +, ,, /, :, ;, =, ?, @, [, ] et les espaces

Par exemple, si vous envoyez une requête GET depuis l'API JSON pour l'objet nommé foo??bar dans le bucket example-bucket, l'URI de votre requête doit être au format suivant :

GET https://storage.googleapis.com/storage/v1/b/example-bucket/o/foo%3f%3fbar

Notez que tous les caractères répertoriés ne doivent pas être encodés dans chaque scénario. Par exemple, le caractère / ne doit être encodé que lorsqu'il est réécrit ou copié avec l'API JSON et uniquement pour l'objet source de cette réécriture/copie.

Pour en savoir plus sur l'utilisation des URI encodés en pourcentage, consultez la Section 3.3 Chemin dans la RFC 3986. Notez que les bibliothèques clientes, telles que les bibliothèques clientes Cloud Storage, gèrent généralement l'encodage pour vous afin que vous puissiez leur transmettre le nom de l'objet brut.

Points de terminaison Cloud Console

Lorsque vous utilisez Cloud Console, vous accédez à différentes ressources via les URL suivantes :

Ressource URL
Liste des buckets pour un projet https://console.cloud.google.com/storage/browser?project=PROJECT_ID
Liste des objets pour un bucket https://console.cloud.google.com/storage/browser/BUCKET_NAME
Détails d'un objet https://console.cloud.google.com/storage/browser/_details/BUCKET_NAME/OBJECT_NAME

Redirections CNAME

Une redirection CNAME est un enregistrement DNS spécial qui vous permet d'utiliser des URI de votre propre domaine pour accéder aux ressources Cloud Storage via l'API XML, sans en révéler les URI. Pour ce faire, l'URI suivant doit être ajouté à la partie du nom d'hôte de votre enregistrement CNAME :

c.storage.googleapis.com.

Par exemple, supposons que votre domaine soit example.com et que vous souhaitiez mettre des cartes de voyage à la disposition de vos clients. Vous pouvez créer un bucket dans Cloud Storage nommé travel-maps.example.com, puis créer un enregistrement CNAME dans le DNS qui redirige les requêtes de travel-maps.example.com vers l'URI Cloud Storage. Pour ce faire, publiez l'enregistrement CNAME suivant dans le DNS :

NAME                      TYPE     DATA
travel-maps.example.com   CNAME    c.storage.googleapis.com.

Vos clients peuvent ainsi utiliser l'URL suivante pour accéder à une carte de Paris :

http://travel-maps.example.com/paris.jpg

Votre service d'enregistrement de domaine devrait vous permettre d'administrer votre domaine, y compris en ajoutant un enregistrement de ressource CNAME. Par exemple, si vous utilisez Google Domains, les instructions permettant d'ajouter un enregistrement de ressource sont disponibles sur la page Aide Google Domains, dans la section déroulante Enregistrements de ressources.

Téléchargements de navigateurs authentifiés

Les téléchargements authentifiés via un navigateur utilisent une authentification basée sur les cookies. Celle-ci demande aux utilisateurs de se connecter à leur compte Google pour établir leur identité. Le compte Google spécifié doit disposer des autorisations appropriées pour accéder à la ressource, via les stratégies IAM ou les listes de contrôle d'accès, afin de pouvoir effectuer le téléchargement.

Pour télécharger un objet à l'aide d'une authentification basée sur les cookies, utilisez l'URL suivante, en remplaçant VALUES_IN_BRACKETS par les valeurs appropriées :

https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME

Par exemple, si vous avez partagé une image london.jpg à partir de votre bucket example-maps, l'URL serait la suivante :

https://storage.cloud.google.com/example-maps/london.jpg

L'utilisation du protocole HTTPS est requise pour les téléchargements authentifiés via un navigateur. Si vous tentez d'envoyer des requêtes en HTTP, elles sont redirigées vers HTTPS. Pour plus d'informations sur les téléchargements authentifiés via un navigateur, consultez la page Authentification basée sur les cookies.

Accès aux objets publics

Toutes les requêtes à l'URI storage.cloud.google.com nécessitent une authentification. Ceci s'applique même lorsque tous les utilisateurs (allUsers) ont l'autorisation d'accéder à un objet. Si vous souhaitez que les utilisateurs téléchargent des objets accessibles anonymement sans authentification, utilisez l'URI storage.googleapis.com documenté dans les requêtes API directes. Pour obtenir plus d'informations et des exemples, consultez la page Accéder aux données publiques.

Étapes suivantes