如何解决使用 Google Storage Transfer API 将数据从外部 GCS 传输到我的 GCS
我正在开发一个由 ReactJs 前端和 Java SpringBoot 后端组成的 Web 应用程序。此应用程序需要用户将数据从他们自己的 Google Cloud 存储上传到我的 Google Cloud Storage。
申请流程如下-
- 前端请求用户对其存储进行读取访问。为此,我使用了 oauth 2.0 访问令牌,如here
- 生成的 Oauth 令牌将传递到后端。
- 后端还将拥有我的服务帐户的凭据,以允许它访问我的 Google Cloud API。我已经创建了具有所需权限的服务帐户,并使用 here 中的说明生成了密钥
- 后端将使用生成的访问令牌和我的服务帐户凭据来传输数据。
在最后一步,我想使用 google Storage-Transfer API 创建一个传输作业。我正在使用为此提供的 Java API 客户端 here。
我无法向传输 API 提供身份验证凭据。 根据我的理解,需要两种不同的身份验证 - 一种用于读取用户的存储桶,另一种用于启动传输作业并将数据写入我的云存储中。我还没有找到任何适用于我的用例的相关文档或工作示例。在所有给定的示例中,始终假设相同的服务帐户凭据可以访问源存储桶和接收器存储桶。
tl;博士 Google Storage Transfer API 是否允许为 GCS 到 GCS 传输设置不同的源和目标凭据?如果是,如何向转移工作规范提供这些凭据。
感谢任何帮助。谢谢!
解决方法
不幸的是,GCS Transfer API 不允许这样做,要使其正常工作,需要服务帐户有权访问源存储桶和接收器存储桶,正如您所提到的。
如果您愿意,您可以尝试在 Google's Issue Tracker 中打开一个功能请求,以便 Google 的产品团队可以考虑为新版本的 API 提供这样的功能,您也可以提到这个主题未涉及文档,因此可以改进。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。