我正在尝试使用Google提供的模板Cloud_PubSub_to_Avro
通过Deployment Manager设置数据流作业。
为此,我必须将数据流注册为类型提供程序,如下所示:
resources:
- name: 'register-dataflow'
action: 'gcp-types/deploymentmanager-v2beta:deploymentmanager.typeProviders.insert'
properties:
name: 'dataflow'
descriptorUrl: 'https://dataflow.googleapis.com/$discovery/rest?version=v1b3'
options:
inputMappings:
- fieldName: Authorization
location: HEADER
value: >
$.concat("Bearer ", $.googleOauth2AccessToken())
然后,我创建了看起来像
的工作模板resources:
- name: "my-topic-to-avro"
type: 'my-project-id/dataflow:dataflow.projects.locations.templates.launch'
properties:
projectId: my-project-id
gcsPath: "gs://dataflow-templates/latest/Cloud_PubSub_to_Avro"
jobName: "my-topic-to-avro"
location: "europe-west1"
parameters:
inputTopic: "projects/my-project-id/topics/my-topic"
outputDirectory: "gs://my-bucket/avro/my-topic/"
avroTempDirectory: "gs://my-bucket/avro/tmp/my-topic/"
现在,我试图了解如何告诉我的工作不使用公共IP。从this看来,我需要设置--usePublicIps=false
,但我不知道该参数的放置位置,甚至无法确定。
我发现here的可能解决方法是删除access-config,但是即使有可能,我仍然无法弄清楚该如何做。
通过提供的模板,我正在尝试做些什么吗?还是我必须使用数据流API? 任何帮助表示赞赏。