I file da Pub/Sub ad Avro nel modello Cloud Storage sono una pipeline in modalità flusso che legge i dati da un argomento Pub/Sub e scrive i file Avro nel bucket Cloud Storage specificato.
Requisiti della pipeline
- L'argomento Pub/Sub di input deve esistere prima dell'esecuzione della pipeline.
Parametri del modello
Parametro | Descrizione |
---|---|
inputTopic |
Argomento Pub/Sub per la sottoscrizione per l'utilizzo dei messaggi. Il nome dell'argomento deve essere
nel formato projects/<project-id>/topics/<topic-name> . |
outputDirectory |
Directory di output in cui sono archiviati i file Avro di output. Deve contenere / alla fine.
Ad esempio: gs://example-bucket/example-directory/ . |
avroTempDirectory |
Directory per i file Avro temporanei. Deve contenere / alla fine. Ad esempio:
gs://example-bucket/example-directory/ . |
outputFilenamePrefix |
(Facoltativo) Prefisso del nome file di output per i file Avro. |
outputFilenameSuffix |
(Facoltativo) Suffisso del nome del file di output per i file Avro. |
outputShardTemplate |
(Facoltativo) Il modello di shard del file di output. Viene specificato come sequenze ripetute delle lettere S o N . Ad esempio: SSS-NNN . Questi vengono sostituiti, rispettivamente, dal numero di shard o dal numero totale di shard. Se questo parametro non è specificato, il formato predefinito del modello è W-P-SS-of-NN . |
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 univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. La regione predefinita è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, vedi Località Dataflow.
- Nel menu a discesa Modello Dataflow, seleziona the Pub/Sub to Avro Files on Cloud Storage template.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud
Nella shell o nel terminale, esegui il modello:
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_PubSub_to_Avro \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=FILENAME_PREFIX,\ outputFilenameSuffix=FILENAME_SUFFIX,\ outputShardTemplate=SHARD_TEMPLATE,\ avroTempDirectory=gs://BUCKET_NAME/temp/
Sostituisci quanto segue:
JOB_NAME
: un nome job univoco a tua sceltaREGION_NAME
: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella padre senza data del bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, come
2023-09-12-00_RC00
, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella padre con data all'interno del bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION
: la posizione per la gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging
)TOPIC_NAME
: nome dell'argomento Pub/SubBUCKET_NAME
: il nome del bucket Cloud StorageFILENAME_PREFIX
: il prefisso preferito del nome file di outputFILENAME_SUFFIX
: il suffisso preferito del nome file di outputSHARD_TEMPLATE
: il modello di shard di output preferito
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per maggiori informazioni 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/Cloud_PubSub_to_Avro { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME", "outputDirectory": "gs://BUCKET_NAME/output/", "avroTempDirectory": "gs://BUCKET_NAME/temp/", "outputFilenamePrefix": "FILENAME_PREFIX", "outputFilenameSuffix": "FILENAME_SUFFIX", "outputShardTemplate": "SHARD_TEMPLATE" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco a tua sceltaLOCATION
: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1
VERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella padre senza data del bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, come
2023-09-12-00_RC00
, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella padre con data all'interno del bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION
: la posizione per la gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging
)TOPIC_NAME
: nome dell'argomento Pub/SubBUCKET_NAME
: il nome del bucket Cloud StorageFILENAME_PREFIX
: il prefisso preferito del nome file di outputFILENAME_SUFFIX
: il suffisso preferito del nome file di outputSHARD_TEMPLATE
: il modello di shard di output preferito
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.