我用BashOperator实现了一些任务。有“gsutil rm”和“gsutil cp”的人工作得很好。但是“gcloud alpha firestore export”会生成此错误:
{bash_operator.py:101} INFO - ERROR: (gcloud.alpha.firestore.export) PERMISSION_DENIED: The caller does not have permission
这个命令本身在gcloud shell中工作正常。我试图向Composer使用的服务帐户提供一些与Firestore相关的权限,但它仍然无效。任何的想法
尝试使用所需的Firestore相关权限创建新服务帐户,并在新创建的环境中使用该权限。 https://cloud.google.com/composer/docs/how-to/access-control
其他调试思路:*尝试在Composer环境中使用Kubernetes worker并运行命令。 *您的项目是否启用了Firestore API?
它不是非常直观或逻辑,因为Firestore没有权限或角色。
不幸的是,我花了太长时间才搞清楚。我希望它能帮助别人!