Die Vorlage „Pub/Sub für Avro-Dateien in Cloud Storage“ ist eine Streamingpipeline, die Daten aus einem Pub/Sub-Thema liest und Avro-Dateien in einen angegebenen Cloud Storage-Bucket schreibt.
Pipelineanforderungen
- Das Pub/Sub-Eingabethema muss vor der Ausführung der Pipeline vorhanden sein.
Vorlagenparameter
Parameter | Beschreibung |
---|---|
inputTopic |
Cloud Pub/Sub-Thema, das zur Nachrichtenaufnahme abonniert werden soll. Der Themenname muss das Format projects/<project-id>/topics/<topic-name> haben. |
outputDirectory |
Ausgabeverzeichnis, in dem die Avro-Dateien archiviert sind. Muss am Ende / enthalten.
Beispiel: gs://example-bucket/example-directory/ |
avroTempDirectory |
Verzeichnis für temporäre Avro-Dateien. Muss am Ende / enthalten. Beispiel:
gs://example-bucket/example-directory/ . |
outputFilenamePrefix |
(Optional) Präfix für den Ausgabedateinamen der Avro-Dateien. |
outputFilenameSuffix |
(Optional) Suffix für den Ausgabedateinamen der Avro-Dateien. |
outputShardTemplate |
[Optional) Shard-Vorlage der Ausgabedatei. Sie wird als sich wiederholende Folge der Buchstaben S oder N angegeben. Beispiel: SSS-NNN . Diese werden entweder durch die Shard-Nummer oder durch die Gesamtzahl der Shards ersetzt. Wenn dieser Parameter nicht angegeben ist, ist das Standardvorlagenformat W-P-SS-of-NN . |
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 the Pub/Sub to Avro Files on Cloud Storage template aus.
- 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 jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_PubSub_to_Avro \ --region REGION_NAME \ --staging-location STAGING_LOCATION \ --parameters \ inputTopic=projects/PROJECT_ID/topics/TOPIC_NAME,\ outputDirectory=gs://BUCKET_NAME/output/,\ outputFilenamePrefix=FILENAME_PREFIX,\ outputFilenameSuffix=FILENAME_SUFFIX,\ outputShardTemplate=SHARD_TEMPLATE,\ avroTempDirectory=gs://BUCKET_NAME/temp/
Dabei gilt:
JOB_NAME
: ein eindeutiger Jobname Ihrer WahlREGION_NAME
: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
STAGING_LOCATION
: der Speicherort für das Staging lokaler Dateien (z. B.gs://your-bucket/staging
)TOPIC_NAME
ist der Name des Pub/Sub-ThemasBUCKET_NAME
: der Name Ihres Cloud Storage-BucketsFILENAME_PREFIX
: das gewünschte Präfix des AusgabedateinamensFILENAME_SUFFIX
: das gewünschte Suffix des AusgabedateinamensSHARD_TEMPLATE
: die gewünschte Shard-Ausgabevorlage
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/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_PubSub_to_Avro { "jobName": "JOB_NAME", "environment": { "ipConfiguration": "WORKER_IP_UNSPECIFIED", "additionalExperiments": [] }, "parameters": { "inputTopic": "projects/PROJECT_ID/topics/TOPIC_NAME", "outputDirectory": "gs://BUCKET_NAME/output/", "avroTempDirectory": "gs://BUCKET_NAME/temp/", "outputFilenamePrefix": "FILENAME_PREFIX", "outputFilenameSuffix": "FILENAME_SUFFIX", "outputShardTemplate": "SHARD_TEMPLATE" } }
Dabei gilt:
PROJECT_ID
: die ID des Google Cloud-Projekts, in dem Sie den Dataflow-Job ausführen möchtenJOB_NAME
: ein eindeutiger Jobname Ihrer WahlLOCATION
: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1
VERSION
: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latest
zur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00
, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
STAGING_LOCATION
: der Speicherort für das Staging lokaler Dateien (z. B.gs://your-bucket/staging
)TOPIC_NAME
ist der Name des Pub/Sub-ThemasBUCKET_NAME
: der Name Ihres Cloud Storage-BucketsFILENAME_PREFIX
: das gewünschte Präfix des AusgabedateinamensFILENAME_SUFFIX
: das gewünschte Suffix des AusgabedateinamensSHARD_TEMPLATE
: die gewünschte Shard-Ausgabevorlage
Nächste Schritte
- Informationen zu Dataflow-Vorlagen
- Sehen Sie sich die Liste der von Google bereitgestellten Vorlagen an.