Il modello JMS to Pub/Sub è una pipeline di flusso che legge i messaggi dal server JMS Active MQ (coda/argomento) e li scrive in Pub/Sub.
Requisiti della pipeline
- Il nome dell'argomento di output Pub/Sub deve esistere.
- L'IP dell'host JMS deve esistere e avere la configurazione di rete corretta per consentire alle VM worker Dataflow di raggiungere l'host JMS.
- L'argomento/la coda JMS da cui vengono estratti i dati deve avere un nome.
Parametri del modello
Parametri obbligatori
- inputName: il nome dell'argomento o della coda JMS da cui vengono letti i dati. Ad esempio,
queue
. - inputType: il tipo di destinazione JMS da cui leggere i dati. Può essere una coda o un argomento. Ad esempio,
queue
. - outputTopic: il nome dell'argomento Pub/Sub in cui pubblicare i dati. Ad esempio,
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. - username: il nome utente da utilizzare per l'autenticazione sul server JMS. Ad esempio,
sampleusername
. - password: la password associata al nome utente fornito. Ad esempio,
samplepassword
.
Parametri facoltativi
- jmsServer: l'IP del server JMS (ActiveMQ). Ad esempio,
tcp://10.0.0.1:61616
.
Esegui il modello
- 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.
- Nel menu a discesa Modello di flusso di dati, seleziona JMS to Pub/Sub template.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
Nella shell o nel terminale, esegui il modello:
gcloud dataflow flex-template runJOB_NAME \ --project=YOUR_PROJECT_ID \ --region=REGION_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME /VERSION /flex/JMS_to_Cloud_PubSub \ --parameters \ jmsServer=JMS_SERVER ,\ inputName=INPUT_NAME ,\ inputType=INPUT_TYPE ,\ outputTopic=OUTPUT_TOPIC ,\ username=USERNAME ,\ password=PASSWORD
In questo esempio devi sostituire i seguenti valori:
- Sostituisci YOUR_PROJECT_ID con l'ID progetto.
- Sostituisci con il nome della regione Dataflow. Ad esempio:
us-central1
. - Sostituisci JOB_NAME con il nome di un job a tua scelta. Il nome del job deve corrispondere all'espressione regolare
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
per essere valido. - Sostituisci JMS_SERVER con gli indirizzi del server JMS. Ad esempio:
tcp://10.0.0.0:61616
- Sostituisci INPUT_NAME con il nome dell'argomento/della coda di input del server JMS. Ad esempio:
testtopic
. - Sostituisci INPUT_TYPE con il tipo di destinazione del server JMS(coda/argomento). Ad esempio:
topic
- Sostituisci OUTPUT_TOPIC con il nome dell'argomento di output Pub/Sub. Ad esempio:
projects/myproject/topics/testoutput
. - Sostituisci USERNAME con il nome utente del server JMS. Ad esempio:
testuser
. - Sostituisci PASSWORD con la password corrispondente al nome utente utilizzato con il server JMS.
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 /flexTemplates:launch { "launch_parameter": { "jobName": "JOB_NAME ", "parameters": { "jmsServer": "JMS_SERVER ", "inputName": "INPUT_NAME ", "inputType": "INPUT_TYPE ", "outputTopic": "OUTPUT_TOPIC ", "username": "USERNAME ", "password": "PASSWORD " }, "containerSpecGcsPath": "gs://dataflow-templates-REGION_NAME /VERSION /flex/JMS_to_Cloud_PubSub", } }
In questo esempio devi sostituire i seguenti valori:
- Sostituisci YOUR_PROJECT_ID con l'ID progetto.
- Sostituisci con il nome della regione Dataflow. Ad esempio:
us-central1
. - Sostituisci JOB_NAME con il nome di un job a tua scelta. Il nome del job deve corrispondere all'espressione regolare
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
per essere valido. - Sostituisci JMS_SERVER con gli indirizzi del server JMS. Ad esempio:
tcp://10.0.0.0:61616
- Sostituisci INPUT_NAME con il nome dell'argomento/della coda di input del server JMS. Ad esempio:
testtopic
. - Sostituisci INPUT_TYPE con il tipo di destinazione del server JMS(coda/argomento). Ad esempio:
topic
- Sostituisci OUTPUT_TOPIC con il nome dell'argomento di output Pub/Sub. Ad esempio:
projects/myproject/topics/testoutput
. - Sostituisci USERNAME con il nome utente del server JMS. Ad esempio:
testuser
. - Sostituisci PASSWORD con la password corrispondente al nome utente utilizzato con il server JMS.
Codice sorgente del modello
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.