Il modello Da Pub/Sub a Pub/Sub è una pipeline di inserimento flussi che legge i messaggi da una sottoscrizione Pub/Sub e li scrive in un altro argomento Pub/Sub La pipeline accetta anche una chiave di attributo del messaggio e un valore facoltativi che possono essere utilizzati per filtrare i messaggi da scrivere nell'argomento Pub/Sub. Puoi utilizzare questo modello per copiare i messaggi da una sottoscrizione Pub/Sub a un altro argomento Pub/Sub con un filtro di 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 di attributo da utilizzare per filtrare gli eventi. Se
filterKeynon è specificato, non vengono applicati filtri. - filterValue: il valore dell'attributo da utilizzare per filtrare gli eventi quando viene fornito un
filterKey. Per impostazione predefinita, viene utilizzato unfilterValuenull.
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) In 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.
- Nel menu a discesa Modello Dataflow, seleziona il modello Da Pub/Sub a Pub/Sub.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- (Facoltativo) Per passare dall'elaborazione esattamente una volta alla 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 job univoco a tua sceltaREGION_NAME: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1VERSION: 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/
STAGING_LOCATION: la località per l'inserimento gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging)SUBSCRIPTION_NAME: il nome della sottoscrizione Pub/SubTOPIC_NAME: il nome dell'argomento Pub/SubFILTER_KEY: la chiave di attributo in base alla quale vengono filtrati gli eventi. Se non viene specificata alcuna chiave, non vengono applicati filtri.FILTER_VALUE: il valore dell'attributo di filtro da utilizzare se viene fornita una chiave di filtro degli eventi. Accetta una stringa di espressione regolare Java valida come valore del filtro degli eventi. Se viene fornita un'espressione regolare, l'espressione completa deve corrispondere affinché il messaggio venga filtrato. Le corrispondenze parziali (ad esempio, la sottostringa) non vengono filtrate. Per impostazione predefinita, viene utilizzato un valore di filtro degli eventi null.
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/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 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-central1VERSION: 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/
STAGING_LOCATION: la località per l'inserimento gestione temporanea dei file locali (ad esempio,gs://your-bucket/staging)SUBSCRIPTION_NAME: il nome della sottoscrizione Pub/SubTOPIC_NAME: il nome dell'argomento Pub/SubFILTER_KEY: la chiave di attributo in base alla quale vengono filtrati gli eventi. Se non viene specificata alcuna chiave, non vengono applicati filtri.FILTER_VALUE: il valore dell'attributo di filtro da utilizzare se viene fornita una chiave di filtro degli eventi. Accetta una stringa di espressione regolare Java valida come valore del filtro degli eventi. Se viene fornita un'espressione regolare, l'espressione completa deve corrispondere affinché il messaggio venga filtrato. Le corrispondenze parziali (ad esempio, la sottostringa) non vengono filtrate. Per impostazione predefinita, viene utilizzato un valore di filtro degli eventi null.
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.