我正试图通过部署管理器创建一个带有模板Pub/Sub to BigQuery的数据流作业。问题是,在运行gcloud deployment-manager types list
命令后,我看不到任何数据流服务。
是否可以使用yaml文件来创建数据流作业?
我将根据@lukaszberwid的回答,为您提供一个如何为Cloud Deployment Manager设置数据流的工作示例。
首先,您需要一个options.yaml
文件来设置auth(此外,您可能需要在env中设置您的服务帐户(:
options:
inputMappings:
- fieldName: Authorization
location: HEADER
value: '$.concat("Bearer ", $.googleOauth2AccessToken())'
然后,注册数据流运行:
gcloud beta deployment-manager type-providers create dataflow
--descriptor-url='https://dataflow.googleapis.com/$discovery/rest?version=v1b3'
--api-options-file=options.yaml
接下来,您可以从入门指南中找到一个可以启动WordCount
模板的示例resources.yaml
:
resources:
- name: "datafow-job"
type: "[PROJECT-ID]/dataflow:dataflow.projects.locations.templates.launch"
properties:
projectId: [PROJECT-ID]
location: us-central1
gcsPath: "gs://dataflow-templates-us-central1/latest/Word_Count"
jobName: testing-job
environment:
bypassTempDirValidation: false
tempLocation: "gs://[BUCKET-NAME]/dataflow/tmp"
ipConfiguration: "WORKER_IP_UNSPECIFIED"
additionalExperiments: []
parameters:
inputFile: "gs://dataflow-samples/shakespeare/kinglear.txt"
output: "gs://[BUCKET-NAME]/dataflow/output/my_output"
运行它:
gcloud deployment-manager deployments create my-deployment
--config resources.yaml
如果您有一个带有OpenAPI规范的RESTful CRUD API,它可以用作类型提供程序。文档
默认情况下,数据流提供程序没有注册,您必须自己注册。文件
注册数据流运行:
gcloud deployment-manager type-providers create dataflow
--descriptor-url='https://dataflow.googleapis.com/$discovery/rest?version=v1b3'
您可以使用查看所有可用于数据流的类型
gcloud deployment-manager types list --provider dataflow