La plantilla de JMS a Pub/Sub es un flujo de procesamiento en streaming que lee mensajes del servidor JMS de Active MQ (cola o tema) y los escribe en Pub/Sub.
Requisitos del flujo de procesamiento
- El nombre del tema de salida de Pub/Sub debe existir.
- La IP del host de JMS debe existir y tener la configuración de red adecuada para que las máquinas virtuales de trabajador de Dataflow puedan acceder al host de JMS.
- El tema o la cola de JMS de los que se extraen los datos deben tener un nombre.
Parámetros de plantilla
Parámetros obligatorios
- inputName: nombre del tema o la cola de JMS de los que se leen los datos. Por ejemplo,
queue
. - inputType el tipo de destino de JMS del que se van a leer los datos. Puede ser una cola o un tema. Por ejemplo,
queue
. - outputTopic nombre del tema de Pub/Sub en el que se publicarán los datos. Por ejemplo,
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
. - nombre_de_usuario: nombre de usuario que se usará para la autenticación en el servidor JMS. Por ejemplo,
sampleusername
. - password: la contraseña asociada al nombre de usuario proporcionado. Por ejemplo,
samplepassword
.
Parámetros opcionales
- jmsServer la IP del servidor JMS (ActiveMQ). Por ejemplo,
tcp://10.0.0.1:61616
.
Ejecutar la plantilla
Consola
- Ve a la página Crear tarea a partir de plantilla de Dataflow. Ir a Crear tarea a partir de plantilla
- En el campo Nombre de la tarea, introduce un nombre único.
- Opcional: En Endpoint regional, seleccione un valor en el menú desplegable. La región predeterminada es
us-central1
.Para ver una lista de las regiones en las que puedes ejecutar una tarea de Dataflow, consulta Ubicaciones de Dataflow.
- En el menú desplegable Plantilla de flujo de datos, seleccione JMS to Pub/Sub template.
- En los campos de parámetros proporcionados, introduzca los valores de los parámetros.
- Haz clic en Ejecutar trabajo.
gcloud
En tu shell o terminal, ejecuta la plantilla:
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
Debe sustituir los siguientes valores en este ejemplo:
- Sustituye YOUR_PROJECT_ID por el ID del proyecto.
- Sustituye por el nombre de la región de Dataflow. Por ejemplo:
us-central1
. - Sustituye JOB_NAME por el nombre de trabajo que quieras. El nombre del trabajo debe coincidir con la expresión regular
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
para ser válido. - Sustituye JMS_SERVER por las direcciones del servidor JMS. Por ejemplo:
tcp://10.0.0.0:61616
- Sustituye INPUT_NAME por el nombre del tema o la cola de entrada del servidor JMS. Por ejemplo:
testtopic
. - Sustituye INPUT_TYPE por el tipo de destino del servidor JMS(cola o tema). Por ejemplo:
topic
- Sustituye OUTPUT_TOPIC por el nombre del tema de salida de Pub/Sub. Por ejemplo:
projects/myproject/topics/testoutput
. - Sustituye USERNAME por el nombre de usuario del servidor JMS. Por ejemplo:
testuser
. - Sustituye PASSWORD por la contraseña correspondiente al nombre de usuario utilizado con el servidor JMS.
API
Para ejecutar la plantilla mediante la API REST, envía una solicitud HTTP POST. Para obtener más información sobre la API y sus ámbitos de autorización, 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", } }
Debe sustituir los siguientes valores en este ejemplo:
- Sustituye YOUR_PROJECT_ID por el ID del proyecto.
- Sustituye por el nombre de la región de Dataflow. Por ejemplo:
us-central1
. - Sustituye JOB_NAME por el nombre de trabajo que quieras. El nombre del trabajo debe coincidir con la expresión regular
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
para ser válido. - Sustituye JMS_SERVER por las direcciones del servidor JMS. Por ejemplo:
tcp://10.0.0.0:61616
- Sustituye INPUT_NAME por el nombre del tema o la cola de entrada del servidor JMS. Por ejemplo:
testtopic
. - Sustituye INPUT_TYPE por el tipo de destino del servidor JMS(cola o tema). Por ejemplo:
topic
- Sustituye OUTPUT_TOPIC por el nombre del tema de salida de Pub/Sub. Por ejemplo:
projects/myproject/topics/testoutput
. - Sustituye USERNAME por el nombre de usuario del servidor JMS. Por ejemplo:
testuser
. - Sustituye PASSWORD por la contraseña correspondiente al nombre de usuario utilizado con el servidor JMS.
Siguientes pasos
- Consulta información sobre las plantillas de Dataflow.
- Consulta la lista de plantillas proporcionadas por Google.