我正在开发一个由 ReactJs 前端和 Java SpringBoot 后端组成的 Web 应用程序。该应用程序要求用户将数据从他们自己的 Google Cloud 存储上传到我的 Google Cloud 存储。
申请流程如下 -
- 前端请求用户对其存储进行读取访问。为此,我使用了 oauth 2.0 访问令牌,如下所述here https://developers.google.com/identity/protocols/oauth2/javascript-implicit-flow#js-client-library
- 生成的 Oauth 令牌将传递到后端。
- 后端还将拥有我的服务帐户的凭据,以允许它访问我的 Google Cloud API。我已经创建了具有所需权限的服务帐户,并使用以下说明生成了密钥here https://cloud.google.com/iam/docs/creating-managing-service-account-keys#creating_service_account_keys
- 后端将使用生成的访问令牌和我的服务帐户凭据来传输数据。
在最后一步中,我想使用 google Storage-Transfer API 创建一个传输作业。我正在使用提供的Java API客户端here https://cloud.google.com/storage-transfer/docs/create-manage-transfer-program#cloud-to-cloud为了这。
我很难向传输 api 提供身份验证凭据。
根据我的理解,需要两种不同的身份验证 - 一种用于读取用户的存储桶,另一种用于启动传输作业并将数据写入我的云存储中。我还没有找到适合我的用例的任何相关文档或工作示例。在所有给定的示例中,始终假设相同的服务帐户凭据可以访问源存储桶和接收器存储桶。
tl;drGoogle Storage Transfer API 是否允许为 GCS 到 GCS 传输设置不同的源和目标凭据?如果是,如何向传输作业规范提供这些凭据。
任何帮助表示赞赏。谢谢!
不幸的是,GCS Transfer API 不允许这样做,如您所提到的,要使其工作,服务帐户必须有权访问源存储桶和接收器存储桶。
您可以尝试在以下位置打开功能请求如果您希望 Google 的产品团队可以考虑为较新版本的 API 提供这样的功能,您也可以提到文档中未涉及此主题,因此可以对其进行改进。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)