Il modello da JMS a Pub/Sub è una pipeline di inserimento flussi che legge i messaggi dal server JMS di 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. (Esempio: coda).
- inputType: il tipo di destinazione JMS da cui leggere i dati. Può essere una coda o un argomento. (Esempio: coda).
- outputTopic : il nome dell'argomento Pub/Sub in cui pubblicare i dati, nel formato
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. ad esempio projects/your-project-id/topics/your-topic-name. - username : il nome utente da utilizzare per l'autenticazione sul server JMS. (Esempio: sampleusername).
- password : la password associata al nome utente fornito. Esempio: password di esempio.
Parametri facoltativi
- jmsServer : l'IP del server JMS (ActiveMQ). ad esempio tcp://10.0.0.1:61616.
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 di regioni in cui è possibile eseguire un job Dataflow, consulta Località di Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona JMS to Pub/Sub template.
- Inserisci i valori parametro negli appositi campi.
- Fai clic su Esegui job.
gcloud
Nella shell o nel terminale, esegui il modello:
gcloud dataflow flex-template run JOB_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 valori seguenti:
- Sostituisci YOUR_PROJECT_ID con l'ID progetto.
- Sostituisci con il nome della regione Dataflow. Ad esempio:
us-central1
. - Sostituisci JOB_NAME con un nome job a tua scelta. Il nome del job deve corrispondere all'espressione regolare
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
affinché sia 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 che corrisponde al nome utente utilizzato con il server JMS.
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/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 valori seguenti:
- Sostituisci YOUR_PROJECT_ID con l'ID progetto.
- Sostituisci con il nome della regione Dataflow. Ad esempio:
us-central1
. - Sostituisci JOB_NAME con un nome job a tua scelta. Il nome del job deve corrispondere all'espressione regolare
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
affinché sia 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 che corrisponde al nome utente utilizzato con il server JMS.
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.