Vorlage "JMS für Pub/Sub"

Die Vorlage "JMS für Pub/Sub" ist eine Streamingpipeline, die Nachrichten vom Active MQ JMS Server (Warteschlange/Thema) liest und in Pub/Sub schreibt.

Pipelineanforderungen

  • Der Name des Pub/Sub-Ausgabethemas muss vorhanden sein.
  • Die JMS-Host-IP-Adresse muss vorhanden sein und die erforderliche Netzwerkkonfiguration haben, damit Dataflow-Worker-VMs den JMS-Host erreichen können.
  • Das JMS-Thema/die JMS-Warteschlange, aus dem/der Daten extrahiert werden, muss einen Namen haben.

Vorlagenparameter

Erforderliche Parameter

  • inputName: Der Name des JMS-Themas oder der JMS-Warteschlange, aus dem bzw. der Daten gelesen werden. (Beispiel: Warteschlange).
  • inputType: Der JMS-Zieltyp, aus dem Daten gelesen werden sollen. Kann eine Warteschlange oder ein Thema sein. (Beispiel: Warteschlange).
  • outputTopic: Der Name des Pub/Sub-Themas, in dem Daten veröffentlicht werden sollen, im Format projects/<PROJECT_ID>/topics/<TOPIC_NAME>. Beispiel: projects/your-project-id/topics/your-topic-name.
  • username: Der Nutzername, der für die Authentifizierung auf dem JMS-Server verwendet werden soll. (Beispiel: sampleusername).
  • password: Das Passwort, das dem angegebenen Nutzernamen zugeordnet ist. (Beispiel: samplepassword).

Optionale Parameter

  • jmsServer: Die JMS-Server-IP (ActiveMQ). (Beispiel: tcp://10.0.0.1:61616)

Führen Sie die Vorlage aus.

Console

  1. Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf.
  2. Zur Seite "Job aus Vorlage erstellen“
  3. Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
  4. Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Die Standardregion ist us-central1.

    Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.

  5. Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option JMS to Pub/Sub templateaus.
  6. Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
  7. Klicken Sie auf Job ausführen.

gcloud

Führen Sie die Vorlage in der Shell oder im Terminal aus:

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 diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie durch den Namen der Dataflow-Region. Beispiel: us-central1
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie JMS_SERVER durch die JMS-Serveradressen. Beispiel: tcp://10.0.0.0:61616
  • Ersetzen Sie INPUT_NAME durch den Namen des JMS-Servereingabethemas/der JMS-Eingabewarteschlange. Beispiel: testtopic
  • Ersetzen Sie INPUT_TYPE durch den Zieltyp des JMS-Servers (Warteschlange/Thema). Beispiel: topic
  • Ersetzen Sie OUTPUT_TOPIC durch den Namen des Pub/Sub-Ausgabe-Themas. Beispiel: projects/myproject/topics/testoutput
  • Ersetzen Sie USERNAME durch den Nutzernamen für den JMS-Server. Beispiel: testuser
  • Ersetzen Sie PASSWORD durch das Passwort für den Nutzernamen, der mit dem JMS-Server verwendet wird.

API

Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter 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 diesem Beispiel müssen Sie die folgenden Werte ersetzen:

  • Ersetzen Sie YOUR_PROJECT_ID durch Ihre Projekt-ID.
  • Ersetzen Sie durch den Namen der Dataflow-Region. Beispiel: us-central1
  • Ersetzen Sie JOB_NAME durch einen Jobnamen Ihrer Wahl. Der Jobname ist nur gültig, wenn er dem regulären Ausdruck [a-z]([-a-z0-9]{0,38}[a-z0-9])? entspricht.
  • Ersetzen Sie JMS_SERVER durch die JMS-Serveradressen. Beispiel: tcp://10.0.0.0:61616
  • Ersetzen Sie INPUT_NAME durch den Namen des JMS-Servereingabethemas/der JMS-Eingabewarteschlange. Beispiel: testtopic
  • Ersetzen Sie INPUT_TYPE durch den Zieltyp des JMS-Servers (Warteschlange/Thema). Beispiel: topic
  • Ersetzen Sie OUTPUT_TOPIC durch den Namen des Pub/Sub-Ausgabe-Themas. Beispiel: projects/myproject/topics/testoutput
  • Ersetzen Sie USERNAME durch den Nutzernamen für den JMS-Server. Beispiel: testuser
  • Ersetzen Sie PASSWORD durch das Passwort für den Nutzernamen, der mit dem JMS-Server verwendet wird.

Nächste Schritte