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
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- 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.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Option JMS to Pub/Sub templateaus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- 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
- Dataflow-Vorlagen
- Sehen Sie sich die Liste der von Google bereitgestellten Vorlagen an.