Transferts en flux continu

Cloud Storage accepte les transferts en flux continu, ce qui vous permet de diffuser des données vers et depuis votre compte Cloud Storage sans devoir d'abord enregistrer les données dans un fichier. Les transferts en flux continu sont utiles lorsque vous souhaitez importer directement dans Cloud Storage des données générées à partir d'un processus ou lorsque vous voulez télécharger des données de Cloud Storage dans un processus.

Importations en flux continu

Les exemples suivants montrent comment effectuer une importation en flux continu d'un processus vers un objet Cloud Storage :

gsutil

  1. Dirigez les données vers la commande gsutil cp et utilisez un tiret pour l'URL source :

    PROCESS_NAME | gsutil cp - gs://BUCKET_NAME/OBJECT_NAME

    Où :

    • PROCESS_NAME est le nom du processus à partir duquel vous collectez des données. Par exemple, collect_measurements ;
    • BUCKET_NAME est le nom du bucket contenant l'objet. Par exemple, my_app_bucket ;
    • OBJECT_NAME est le nom de l'objet créé à partir des données. Par exemple, data_measurements.

Bibliothèques clientes

C++

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C++.

Pour diffuser des importations d'objets en flux continu à l'aide de C++, consultez la documentation de référence sur WriteObject.

C#

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.

Pour diffuser des importations d'objets en flux continu à l'aide de C#, consultez la documentation de référence sur SimpleUpload.

Go

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.

Pour diffuser des importations d'objets en flux continu à l'aide de Go, consultez la documentation de référence sur NewWriter.

Notez que pour les importations et les téléchargements, Go utilise respectivement les interfaces standards io.Writer et io.Reader, qui autorisent toutes deux le flux continu.

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour diffuser des importations d'objets en flux continu à l'aide de Java, consultez la documentation de référence sur writer.

Node.js

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.

Pour diffuser des importations d'objets en flux continu à l'aide de Node.js, consultez la documentation de référence sur createWriteStream.

PHP

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.

Pour diffuser des importations d'objets en flux continu à l'aide de PHP, consultez la documentation de référence sur upload.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.

Il n'est actuellement pas possible d'effectuer des importations en flux continu à l'aide de la bibliothèque cliente Python.

Ruby

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.

Il n'est actuellement pas possible d'effectuer des importations en flux continu à l'aide de la bibliothèque cliente Ruby.

Téléchargements en flux continu

Les exemples suivants montrent comment effectuer le téléchargement d'un objet Cloud Storage dans un processus :

gsutil

  1. Exécutez la commande gsutil cp en utilisant un tiret pour l'URL de destination, puis dirigez les données vers le processus :

    gsutil cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME

    Où :

    • BUCKET_NAME est le nom du bucket contenant l'objet. Par exemple, my_app_bucket ;
    • OBJECT_NAME est le nom de l'objet que vous diffusez vers le processus. Par exemple, data_measurements ;
    • PROCESS_NAME est 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 :

gsutil 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 diffuser des téléchargements d'objets en flux continu à l'aide de C++, consultez la documentation de référence sur ReadObject.

C#

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage C#.

Pour diffuser des téléchargements d'objets en flux continu à l'aide de C#, consultez la documentation de référence sur SimpleDownload.

Go

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Go.

Pour diffuser des téléchargements d'objets en flux continu à l'aide de Go, consultez la documentation de référence sur NewReader.

Notez que pour les importations et les téléchargements, Go utilise respectivement les interfaces standards io.Writer et io.Reader, qui autorisent toutes deux le flux continu.

Java

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Java.

Pour diffuser des téléchargements d'objets en streaming à l'aide de Java, consultez la documentation de référence sur reader.

Node.js

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Node.js.

Pour diffuser des téléchargements d'objets en flux continu à l'aide de Node.js, consultez la documentation de référence sur createReadStream.

PHP

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage PHP.

Pour diffuser des téléchargements d'objets en flux continu à l'aide de PHP, consultez la documentation de référence sur downloadAsStreams.

Python

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Python.

Il n'est actuellement pas possible d'effectuer des téléchargements en flux continu à l'aide de la bibliothèque cliente Python.

Ruby

Pour en savoir plus, consultez la documentation de référence de l'API Cloud Storage en langage Ruby.

Il n'est actuellement pas possible d'effectuer des téléchargements en flux continu à l'aide de la bibliothèque cliente Ruby.