以前,我没有麻烦让波束DirectRunner与PubSub模拟器一起工作。然而,最近它不再工作了。
我已经设置了一些东西:
PubSub模拟器:
gcloud beta emulators pubsub start --project=test-project --host-port=127.0.0.1:8088
gcloud beta emulators pubsub env-init
当我使用这个repo中的代码片段时,我可以在这个模拟项目中很好地创建主题和订阅。
然而,当在我的(Python) Beam管道中使用DirectRunner (runner="DirectRunner"
)时,跑步者一直试图在Google Cloud中找到资源,而不是使用本地资源。因此它说订阅x
不存在。撤销默认凭据会使管道失败,并抱怨默认身份验证完全丢失。在PipelineOptions
中设置--no-auth
也没有帮助。我已经在DataFlow使用的终端中运行了gcloud beta emulators pubsub env-init
命令。我错过什么了吗?
我尝试设置以下选项,但没有成功:
"--no_auth",
"--runner=DirectRunner"
"--pubsubRootUrl=http://127.0.0.1:8088",
"--project=test-project",
"--pubsub_root_url=http://127.0.0.1:8088",
我尝试撤销默认凭据。我试着取消设置GOOGLE_APPLICATION_CREDENTIALS
。我试着设置CLOUDSDK_API_ENDPOINT_OVERRIDES_PUBSUB=127.0.0.1:8088
。还是没有运气
天哪,$(gcloud beta emulators pubsub env-init)
不见了。