Il modello Pub/Sub a Pub/Sub è una pipeline di flusso che legge i messaggi da una sottoscrizione Pub/Sub e li scrive in un altro argomento Pub/Sub. La pipeline accetta anche una chiave dell'attributo messaggio facoltativa e un valore che può essere utilizzato per filtrare i messaggi da scrivere nell'argomento Pub/Sub. Puoi utilizzare questo per copiare i messaggi da una sottoscrizione Pub/Sub a un'altra sottoscrizione Pub/Sub con un filtro dei messaggi facoltativo.
Requisiti della pipeline
- La sottoscrizione Pub/Sub di origine deve esistere prima dell'esecuzione.
- La sottoscrizione Pub/Sub di origine deve essere una sottoscrizione pull.
- L'argomento Pub/Sub di destinazione deve esistere prima dell'esecuzione.
Parametri del modello
Parametri obbligatori
- inputSubscription : la sottoscrizione Pub/Sub da cui leggere l'input. ad esempio projects/your-project-id/subscriptions/your-subscription-name).
- outputTopic : l'argomento Pub/Sub in cui scrivere l'output. (ad esempio projects/your-project-id/topics/your-topic-name).
Parametri facoltativi
- filterKey : la chiave dell'attributo da utilizzare per filtrare gli eventi. Non vengono applicati filtri se
filterKey
non è specificato. - filterValue : il valore dell'attributo da utilizzare per filtrare gli eventi quando viene fornito un
filterKey
. Per impostazione predefinita, viene utilizzato un valore nullofilterValue
.
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. Il valore predefinito
è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Nel menu a discesa Modello di flusso di dati, seleziona the Pub/Sub to Pub/Sub template.
- Inserisci i valori parametro negli appositi campi.
- (Facoltativo) Passare dall'elaborazione "exactly-once" all'impostazione modalità flusso di dati 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_Cloud_PubSub \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputSubscription=projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME,\ outputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ filterKey=FILTER_KEY,\ filterValue=FILTER_VALUE
Sostituisci quanto segue:
JOB_NAME
: un nome di 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 principale senza data del 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/
STAGING_LOCATION
: la posizione per l'organizzazione in anteprima dei file locali (ad esempiogs://your-bucket/staging
)SUBSCRIPTION_NAME
: la sottoscrizione Pub/Sub nomeTOPIC_NAME
: il nome dell'argomento Pub/SubFILTER_KEY
: la chiave dell'attributo in base alla quale vengono filtrati gli eventi. Nessun filtro viene applicato se non viene specificata alcuna chiave.FILTER_VALUE
: valore dell'attributo filtro da utilizzare se viene fornita una chiave di filtro evento. Accetta una stringa Regex Java valida come valore di filtro eventi. Se viene fornita un'espressione regolare, l'espressione completa deve corrispondere affinché il messaggio venga filtrato. Le corrispondenze parziali (ad esempio le sottostringhe) non vengono filtrate. Per impostazione predefinita viene utilizzato un valore di filtro evento nullo.
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sul
API e i 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_Cloud_PubSub { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputSubscription": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_NAME", "outputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME", "filterKey": "FILTER_KEY", "filterValue": "FILTER_VALUE" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome job univoco di 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 principale senza data del 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/
STAGING_LOCATION
: la posizione per l'organizzazione in anteprima dei file locali (ad esempiogs://your-bucket/staging
)SUBSCRIPTION_NAME
: la sottoscrizione Pub/Sub nomeTOPIC_NAME
: il nome dell'argomento Pub/SubFILTER_KEY
: la chiave dell'attributo in base alla quale vengono filtrati gli eventi. Nessun filtro viene applicato se non viene specificata alcuna chiave.FILTER_VALUE
: valore dell'attributo di filtro da utilizzare se viene fornita una chiave di filtro eventi. Accetta una stringa Regex Java valida come valore di filtro eventi. Se viene fornita un'espressione regolare, l'espressione completa deve corrispondere affinché il messaggio venga filtrato. Corrispondenze parziali (come una sottostringa) non vengono filtrati. Per impostazione predefinita viene utilizzato un valore di filtro evento nullo.
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.