Le modèle JMS vers Pub/Sub est un pipeline de traitement en flux continu qui lit les messages du serveur JMS ActiveMQ (file d'attente/sujet) et les écrit dans Pub/Sub.
Conditions requises pour ce pipeline
- Le nom du sujet de sortie Pub/Sub doit déjà exister.
- L'adresse IP de l'hôte JMS doit exister et présenter la configuration réseau appropriée pour que les VM de nœud de calcul Dataflow puissent atteindre l'hôte JMS.
- Le sujet/file d'attente JMS à partir duquel les données sont extraites doit avoir un nom.
Paramètres de modèle
Paramètres obligatoires
- inputName: nom du sujet ou de la file d'attente JMS à partir duquel les données sont lues. Exemple :
queue
- inputType: type de destination JMS à partir duquel lire les données. Il peut s'agir d'une file d'attente ou d'un sujet. Exemple :
queue
- outputTopic: nom du sujet Pub/Sub dans lequel publier les données. Exemple :
projects/<PROJECT_ID>/topics/<TOPIC_NAME>
- username: nom d'utilisateur à utiliser pour l'authentification sur le serveur JMS. Exemple :
sampleusername
- password: mot de passe associé au nom d'utilisateur fourni. Exemple :
samplepassword
Paramètres facultatifs
- jmsServer: adresse IP du serveur JMS (ActiveMQ). Exemple :
tcp://10.0.0.1:61616
Exécuter le modèle
Console
- Accédez à la page Dataflow Créer un job à partir d'un modèle. Accéder à la page Créer un job à partir d'un modèle
- Dans le champ Nom du job, saisissez un nom de job unique.
- Facultatif : pour Point de terminaison régional, sélectionnez une valeur dans le menu déroulant. La région par défaut est
us-central1
.Pour obtenir la liste des régions dans lesquelles vous pouvez exécuter un job Dataflow, consultez la page Emplacements Dataflow.
- Dans le menu déroulant Modèle Dataflow, sélectionnez JMS to Pub/Sub template.
- Dans les champs fournis, saisissez vos valeurs de paramètres.
- Cliquez sur Run Job (Exécuter la tâche).
gcloud
Dans le shell ou le terminal, exécutez le modèle :
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
Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :
- Remplacez YOUR_PROJECT_ID par l'ID du projet.
- Remplacez par le nom de la région Dataflow. Exemple :
us-central1
. - Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de tâche doit correspondre à l'expression régulière
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
pour être valide. - Remplacez JMS_SERVER par les adresses du serveur JMS. Par exemple :
tcp://10.0.0.0:61616
- Remplacez INPUT_NAME par le nom du sujet ou de la file d'attente d'entrée du serveur JMS. Exemple :
testtopic
. - Remplacez INPUT_TYPE par le type de destination du serveur JMS (file d'attente/sujet). Par exemple :
topic
- Remplacez OUTPUT_TOPIC par le nom du sujet de sortie Pub/Sub. Exemple :
projects/myproject/topics/testoutput
. - Remplacez USERNAME par le nom d'utilisateur du serveur JMS. Exemple :
testuser
. - Remplacez PASSWORD par le mot de passe correspondant au nom d'utilisateur associé au serveur JMS.
API
Pour exécuter le modèle à l'aide de l'API REST, envoyez une requête HTTP POST. Pour en savoir plus sur l'API et ses champs d'application d'autorisation, consultez la section 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", } }
Vous devez remplacer les valeurs suivantes dans l'exemple ci-dessous :
- Remplacez YOUR_PROJECT_ID par l'ID du projet.
- Remplacez par le nom de la région Dataflow. Exemple :
us-central1
. - Remplacez JOB_NAME par le nom de tâche de votre choix. Le nom de tâche doit correspondre à l'expression régulière
[a-z]([-a-z0-9]{0,38}[a-z0-9])?
pour être valide. - Remplacez JMS_SERVER par les adresses du serveur JMS. Par exemple :
tcp://10.0.0.0:61616
- Remplacez INPUT_NAME par le nom du sujet ou de la file d'attente d'entrée du serveur JMS. Exemple :
testtopic
. - Remplacez INPUT_TYPE par le type de destination du serveur JMS (file d'attente/sujet). Par exemple :
topic
- Remplacez OUTPUT_TOPIC par le nom du sujet de sortie Pub/Sub. Exemple :
projects/myproject/topics/testoutput
. - Remplacez USERNAME par le nom d'utilisateur du serveur JMS. Exemple :
testuser
. - Remplacez PASSWORD par le mot de passe correspondant au nom d'utilisateur associé au serveur JMS.
Étape suivante
- Apprenez-en plus sur les modèles Dataflow.
- Consultez la liste des modèles fournis par Google.