Il modello Pub/Sub to Cloud Storage Text è una pipeline di streaming che legge i record dall'argomento Pub/Sub e li salva come serie di file di Cloud Storage in formato testo. Il modello può essere utilizzato come mezzo rapido per salvare dati in Pub/Sub per uso futuro. Per impostazione predefinita, il modello genera un nuovo file ogni 5 minuti.
Requisiti della pipeline
- L'argomento Pub/Sub deve esistere prima dell'esecuzione.
- I messaggi pubblicati nell'argomento devono essere in formato testo.
- I messaggi pubblicati nell'argomento non devono contenere caratteri di fine riga. Tieni presente che ogni messaggio Pub/Sub viene salvato come singola riga nel file di output.
Parametri del modello
Parametri obbligatori
- outputDirectory: il percorso e il prefisso del nome file per la scrittura dei file di output. Ad esempio,
gs://bucket-name/path/
. Questo valore deve terminare con una barra. - outputFilenamePrefix: il prefisso da inserire in ogni file in finestra. Ad esempio,
output-
. Il valore predefinito è output.
Parametri facoltativi
- inputTopic: l'argomento Pub/Sub da cui leggere l'input. Il nome dell'argomento deve essere nel formato
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. - userTempLocation: la directory fornita dall'utente in cui generare i file temporanei. Deve terminare con una barra.
- outputFilenameSuffix: il suffisso da inserire in ogni file in finestra. In genere un'estensione di file come
.txt
o.csv
. Il valore predefinito è vuoto. - outputShardTemplate: il modello di shard definisce la parte dinamica di ogni file in finestra. Per impostazione predefinita, la pipeline utilizza un singolo shard per l'output nel file system all'interno di ogni finestra. Pertanto, tutti i dati vengono inseriti in un unico file per finestra.
outputShardTemplate
valori predefinitito W-P-SS-of-NN
, doveW
è l'intervallo di date della finestra,P
sono le informazioni del riquadro,S
è il numero di shard eN
è il numero di shard. Nel caso di un singolo file, la parteSS-of-NN
deloutputShardTemplate
è00-of-01
. - yearPattern: pattern per la formattazione dell'anno. Deve essere uno o più dei seguenti valori:
y
oY
. Le maiuscole non fanno differenza nell'anno. (Facoltativo) Racchiudi il pattern tra caratteri non alfanumerici o il carattere di directory (/
). Il valore predefinito èYYYY
. - monthPattern: pattern per la formattazione del mese. Deve essere uno o più caratteri
M
. (Facoltativo) Racchiudi il pattern tra caratteri non alfanumerici o il carattere di directory (/
). Il valore predefinito èMM
. - dayPattern: pattern per la formattazione del giorno. Deve essere uno o più valori di
d
per il giorno del mese o diD
per il giorno dell'anno. (Facoltativo) Racchiudi il pattern tra caratteri non alfanumerici o il carattere di directory (/
). Il valore predefinito èdd
. - hourPattern: pattern per la formattazione dell'ora. Deve essere uno o più caratteri
H
. (Facoltativo) Racchiudi il pattern tra caratteri non alfanumerici o il carattere di directory (/
). Il valore predefinito èHH
. - minutePattern: pattern per formattare i minuti. Deve essere uno o più caratteri
m
. (Facoltativo) Racchiudi il pattern tra caratteri non alfanumerici o il carattere di directory (/
). Il valore predefinito èmm
.
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, consulta Località di Dataflow.
- Dal menu a discesa Modello di dataflow, seleziona the Pub/Sub to Text Files on Cloud Storage template.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- (Facoltativo) Per passare dall'elaborazione exactly-once alla modalità di streaming almeno una volta, seleziona Almeno una volta.
- 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_GCS_Text \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=output-,\ outputFilenameSuffix=.txt
Sostituisci quanto segue:
JOB_NAME
: un nome univoco del job 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 l'ultima versione del modello, disponibile nella cartella principale senza data 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 con data nel bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION
: la posizione di gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging
)TOPIC_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 POST HTTP. Per ulteriori 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_GCS_Text { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME" "outputDirectory": "gs://BUCKET_NAME/output/", "outputFilenamePrefix": "output-", "outputFilenameSuffix": ".txt", } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome univoco del job 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 l'ultima versione del modello, disponibile nella cartella principale senza data 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 con data nel bucket: gs://dataflow-templates-REGION_NAME/
STAGING_LOCATION
: la posizione di gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging
)TOPIC_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.