python-3.x - 如何从 Cloud Run 连接到 Google Cloud Datastore?

标签 python-3.x google-cloud-firestore google-cloud-datastore google-client google-cloud-run

我愿意在 Google-Cloud-Run 中部署服务。这将是一个(python)Flask 应用程序,它会连接到数据存储(数据存储模式下的 Firestore)以写入或读取一个小 blob。

问题是文档中没有解释:Accessing your Database如何在 GCP 内而不是从 GCE 或 AppEngine 访问数据存储。有没有一种花哨/无缝的方式来实现这一点,还是我应该像提供外部平台一样提供服务帐户凭据?

预先感谢您的帮助和解答。

最佳答案

当您的 Cloud Run 逻辑执行时,它会以 GCP 服务帐号的身份执行。您可以配置它在配置时运行的服务帐户。您可以创建和配置具有正确角色的服务帐户,以允许/提供对数据存储的访问。这意味着当您的 Cloud Run 逻辑执行时,它将拥有执行所需操作的正确权限。这个故事记录在这里:

Using per-service identity

如果由于某种原因您觉得这还不够,另一种方法是将访问所需的 token 保存在计算元数据中,然后在您的云运行逻辑中显式地动态检索这些 token 。这是在此处描述的:

Fetching identity and access tokens

希望这涵盖了您正在寻找的基础知识。如果在阅读这些领域后出现新问题,请随时提出更具体和详细的​​新问题,我们将跟进。

关于python-3.x - 如何从 Cloud Run 连接到 Google Cloud Datastore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58595436/

相关文章:

reactjs - Firebase 错误 : Failed to get document because the client is offline

google-app-engine - 如何备份 Google App Engine 全文搜索文档?

android - 我在运行 Android 代码时遇到这些错误

java - 我可以对 Collection 属性(如 java.util.List)进行投影查询吗?

google-app-engine - "message": "java.lang.NullPointerException" when trying to insert entity via api-explorer

python - python中的调度算法FCFS

python - 列表中 10 的倍数

mysql - python.3类型错误: embedded NUL character

python - Pytube 只能定期工作(KeyError : 'assets' )

android - 将 Firebase 任务<Void> 包装到 RxJava CompletableEmitter 中?