微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Google Storage Transfer API 将数据从外部 GCS 传输到我的 GCS

如何解决使用 Google Storage Transfer API 将数据从外部 GCS 传输到我的 GCS

我正在开发一个由 ReactJs 前端和 Java SpringBoot 后端组成的 Web 应用程序。此应用程序需要用户将数据从他们自己的 Google Cloud 存储上传到我的 Google Cloud Storage。

申请流程如下-

  1. 前端请求用户对其存储进行读取访问。为此,我使用了 oauth 2.0 访问令牌,如here
  2. 生成的 Oauth 令牌将传递到后端。
  3. 后端还将拥有我的服务帐户的凭据,以允许它访问我的 Google Cloud API。我已经创建了具有所需权限的服务帐户,并使用 here
  4. 中的说明生成了密钥
  5. 后端将使用生成的访问令牌和我的服务帐户凭据来传输数据。

在最后一步,我想使用 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 举报,一经查实,本站将立刻删除。