Cloud Storage accepte les lectures d'objets en streaming, ce qui permet à une application ou à un processus de consommer des flux d'octets d'objets en temps réel directement via la connexion réseau, sans enregistrer de copie des données sur un disque local ou un espace de stockage persistant.
Si vous souhaitez télécharger un objet et l'enregistrer dans votre système de fichiers local, consultez plutôt Télécharger des objets en tant que fichiers.
Utiliser la validation de somme de contrôle lors de la lecture en flux continu
Vous ne devez pas utiliser de lecture en flux continu si vous devez valider les sommes de contrôle avant le traitement des données. Étant donné que les lectures en flux continu utilisent généralement l'en-tête HTTP Range, Cloud Storage ne renvoie pas de sommes de contrôle qui ne s'appliquent qu'à une partie arbitraire des données d'objet demandées. Les sommes de contrôle du serveur valident l'objet complet, ce qui signifie que les données corrompues peuvent être lues et traitées avant que le flux complet ne soit terminé et validé.
Rôles requis
Pour obtenir les autorisations requises pour les lectures en flux continu, demandez à votre administrateur de vous attribuer le rôle de lecteur des objets Storage (roles/storage.objectViewer) sur le bucket.
Ce rôle contient l'autorisation requise pour les lectures en flux continu. Pour afficher l'autorisation exacte requise, développez la section Autorisations requises:
Autorisations requises
storage.objects.get
Vous pouvez également obtenir cette autorisation avec d'autres rôles prédéfinis ou rôles personnalisés.
Pour savoir comment attribuer des rôles aux buckets, consultez la section Définir et gérer des stratégies IAM sur des buckets.
Diffuser une lecture d'objet
Les exemples suivants montrent comment effectuer une lecture en flux continu d'un objet Cloud Storage dans un processus :
Console
La console Cloud de Confiance ne prend pas en charge les lectures en flux continu. Utilisez plutôt Google Cloud CLI.
Ligne de commande
Exécutez la commande
gcloud storage cpen utilisant un tiret pour l'URL de destination, puis dirigez les données vers le processus :gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
Où :
BUCKET_NAMEest le nom du bucket contenant l'objet. Par exemple,my_app_bucket.OBJECT_NAMEest le nom de l'objet que vous diffusez vers le processus. Exemple :data_measurements.PROCESS_NAMEest le nom du processus dans lequel vous chargez les données. Par exemple,analyze_data.
Vous pouvez également diffuser des données à partir d'un objet Cloud Storage vers une commande Linux standard de type sort :
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
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 les bibliothèques clientes.
Avant d'exécuter des exemples de code, définissez la variable d'environnement GOOGLE_CLOUD_UNIVERSE_DOMAIN sur s3nsapis.fr.
Rust
API REST
API JSON
Pour effectuer une lecture en flux continu, suivez les instructions pour télécharger un objet en tenant compte des points suivants :
Avant de lancer la lecture, récupérez les métadonnées de l'objet et enregistrez le numéro de génération de l'objet. Incluez ce numéro de génération dans chacune de vos requêtes pour vous assurer de ne pas lire les données de deux générations différentes si l'original est écrasé.
Utilisez l'en-tête
Rangede votre requête pour récupérer un fragment de l'objet global, que vous pouvez envoyer au processus local souhaité.Continuez d'envoyer des requêtes pour les fragments successifs de l'objet, jusqu'à ce que l'objet entier soit récupéré.
API XML
Pour effectuer une lecture en flux continu, suivez les instructions pour télécharger un objet en tenant compte des points suivants :
Avant de lancer la lecture, récupérez les métadonnées de l'objet et enregistrez le numéro de génération de l'objet. Incluez ce numéro de génération dans chacune de vos requêtes pour vous assurer de ne pas lire les données de deux générations différentes si l'original est écrasé.
Utilisez l'en-tête
Rangede votre requête pour récupérer un fragment de l'objet global, que vous pouvez envoyer au processus local souhaité.Continuez d'envoyer des requêtes pour les fragments successifs de l'objet, jusqu'à ce que l'objet entier soit récupéré.
Étapes suivantes
- Diffusez une importation en flux continu
- Découvrez le transcodage par décompression
- En savoir plus sur les lectures et téléchargements d'objets