Questo modello crea una pipeline batch che legge i record dai file di testo archiviati in Cloud Storage e li pubblica in un argomento Pub/Sub topic. Il modello può essere utilizzato per pubblicare in un argomento Pub/Sub i record contenuti in un file delimitato da accapo contenente record JSON o in un file CSV, per l'elaborazione in tempo reale. Puoi utilizzare questo modello per replicare dati in Pub/Sub.
Questo modello non imposta alcun timestamp sui singoli record. L'ora dell'evento è uguale all'ora di pubblicazione durante l'esecuzione. Se la tua pipeline necessita di un'indicazione accurata sull'ora dell'evento per l'elaborazione, non devi utilizzare questa pipeline.
Requisiti della pipeline
- I file da leggere devono essere in formato JSON delimitato da nuova riga o in formato CSV. I record che comprendono più righe nei file di origine possono causare problemi downstream perché ogni riga presente nei file verrà pubblicata come messaggio in Pub/Sub.
- L'argomento Pub/Sub deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametri obbligatori
- inputFilePattern: il pattern del file di input da cui leggere. Ad esempio,
gs://bucket-name/files/*.json. - outputTopic: l'argomento di input Pub/Sub in cui scrivere. Il nome deve essere nel formato
projects/<PROJECT_ID>/topics/<TOPIC_NAME>. Ad esempio,projects/your-project-id/topics/your-topic-name.
Esegui il modello
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome job univoco.
- (Facoltativo) Per Endpoint regionale, seleziona un valore dal menu a discesa. La regione predefinita è
us-central1.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona il modello File di testo in Cloud Storage a Pub/Sub (batch).
- Inserisci i valori dei parametri nei campi dei parametri forniti.
- Fai clic su Esegui job.
gcloud
Esegui il modello nella shell o nel terminale:
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
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME: un nome job univoco a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1TOPIC_NAME: il nome dell'argomento Pub/SubBUCKET_NAME: il nome del bucket Cloud Storage
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più sull'
API e sui relativi ambiti di autorizzazione, consulta
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" } }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME: un nome job univoco a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
LOCATION: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1TOPIC_NAME: il nome dell'argomento Pub/SubBUCKET_NAME: il nome del bucket Cloud Storage
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.