Ce modèle crée un pipeline par lots qui lit les enregistrements à partir de fichiers texte stockés dans Cloud Storage et les publie vers un sujet Pub/Sub. Le modèle peut être utilisé pour publier les enregistrements inclus dans un fichier CSV ou dans un fichier délimité par un retour à la ligne contenant des enregistrements JSON vers un sujet Cloud Pub/Sub, afin qu'ils soient traités en temps réel. Vous pouvez utiliser ce modèle pour relire les données dans Pub/Sub.
Ce modèle ne définit aucun horodatage sur les enregistrements individuels. L'heure de l'événement correspond à l'heure de publication pendant l'exécution. Si votre pipeline dépend d'une heure d'événement précise pour le traitement, vous ne devez pas l'utiliser.
Conditions requises pour ce pipeline
- Les fichiers à lire doivent être au format JSON ou CSV délimité par une nouvelle ligne. Les enregistrements qui occupent plusieurs lignes dans les fichiers source peuvent poser des problèmes en aval, car chaque ligne des fichiers sera publiée sous forme de message dans Pub/Sub.
- Le sujet Pub/Sub doit exister avant l'exécution du pipeline.
Paramètres de modèle
Paramètres obligatoires
- inputFilePattern : modèle de fichier d'entrée à lire. (par exemple, gs://bucket-name/files/*.json).
- outputTopic : sujet d'entrée Pub/Sub dans lequel écrire. Le nom doit être au format
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. (par exemple, projects/votre-id-projet/topics/nom-de-votre-sujet).
Exécuter le modèle
Console
- Accédez à la page Dataflow Créer un job à partir d'un modèle. Accéder à la page Créer un job à partir d'un modèle
- Dans le champ Nom du job, saisissez un nom de job unique.
- Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est
us-central1
.Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job Dataflow, consultez la page Emplacements Dataflow.
- Dans le menu déroulant Modèle Dataflow, sélectionnez the Text Files on Cloud Storage to Pub/Sub (Batch) template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- Cliquez sur Run Job (Exécuter la tâche).
gcloud
Dans le shell ou le terminal, exécutez le modèle :
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Text_to_Cloud_PubSub \ --region REGION_NAME \ --parameters \ inputFilePattern=gs://BUCKET_NAME/files/*.json,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud dans lequel vous souhaitez exécuter le job DataflowJOB_NAME
: nom de job unique de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latest
pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
REGION_NAME
: région dans laquelle vous souhaitez déployer votre job Dataflow, par exempleus-central1
TOPIC_NAME
: nom de votre sujet Pub/SubBUCKET_NAME
: nom de votre bucket Cloud Storage
API
Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API, ses autorisations et leurs champs d'application, consultez la section projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/GCS_Text_to_Cloud_PubSub { "jobName": "JOB_NAME", "parameters": { "inputFilePattern": "gs://BUCKET_NAME/files/*.json", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" }, "environment": { "zone": "us-central1-f" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet Google Cloud dans lequel vous souhaitez exécuter le job DataflowJOB_NAME
: nom de job unique de votre choixVERSION
: version du modèle que vous souhaitez utiliserVous pouvez utiliser les valeurs suivantes :
latest
pour utiliser la dernière version du modèle, disponible dans le dossier parent non daté du bucket gs://dataflow-templates-REGION_NAME/latest/- Le nom de la version, par exemple
2023-09-12-00_RC00
, pour utiliser une version spécifique du modèle, qui est imbriqué dans le dossier parent daté respectif dans le bucket : gs://dataflow-templates-REGION_NAME/
LOCATION
: région dans laquelle vous souhaitez déployer votre job Dataflow, par exempleus-central1
TOPIC_NAME
: nom de votre sujet Pub/SubBUCKET_NAME
: nom de votre bucket Cloud Storage
Étapes suivantes
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.