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

标签 authentication google-api google-cloud-storage file-transfer data-migration

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

申请流程如下 -

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

在最后一步中,我想使用 google Storage-Transfer API 创建一个传输作业。我正在使用提供的Java API客户端here为此。

我在向传输 API 提供身份验证凭据时遇到困难。 根据我的理解,需要两种不同的身份验证 - 一种用于读取用户的存储桶,另一种用于启动传输作业并将数据写入我的云存储中。我还没有找到适合我的用例的任何相关文档或工作示例。在所有给定的示例中,始终假设相同的服务帐户凭据可以访问源存储桶和接收器存储桶。

tl;博士 Google Storage Transfer API 是否允许为 GCS 到 GCS 传输设置不同的源和目标凭据?如果是,如何向传输作业规范提供这些凭据。

感谢任何帮助。谢谢!

最佳答案

遗憾的是,GCS Transfer API 不允许这样做,如您所提到的,要使其工作,服务帐户必须有权访问源存储桶和接收存储桶。

您可以尝试在 Google's Issue Tracker 中打开功能请求如果您希望 Google 的产品团队可以考虑为较新版本的 API 提供这样的功能,您还可以提及文档中未涉及此主题,因此可以对其进行改进。

关于authentication - 使用 Google Storage Transfer API 将数据从外部 GCS 传输到我的 GCS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66949241/

相关文章:

python - 如何获取 Google Apps 市场通知

google-cloud-storage - Google Cloud Storage - 使存储桶中的对象公开可见

python - Bucket.blob.upload_from_string 返回 "ValueError: None could not be converted to unicode"

python - 使用用户数据库中的 Python 凭据进行安全登录

asp.net-mvc-3 - 在 ASP.NET MVC 3 中覆盖/禁用授权

PHP session 刷新!

google-cloud-platform - `gcloud images create <image> --source-uri=<source>` 在 Cloud SDK 265.0.0 中给出错误

java - RSA 身份验证问题

google-api - 尝试创建新的 Google API 项目时出现 FAILED_PRECONDITION

java - NoClassDefFoundError : com/google/appengine/api/urlfetch/ResponseTooLargeException