Modèle JMS vers Pub/Sub

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

  1. Accédez à la page Dataflow Créer un job à partir d'un modèle.
  2. Accéder à la page Créer un job à partir d'un modèle
  3. Dans le champ Nom du job, saisissez un nom de job unique.
  4. 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.

  5. Dans le menu déroulant Modèle Dataflow, sélectionnez le modèle JMS vers Pub/Sub.
  6. Dans les champs fournis, saisissez vos valeurs de paramètres.
  7. 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.

Étapes suivantes