【问题标题】:Reading/writing to Google Storage from Google Compute Windows 2008 VM从 Google Compute Windows 2008 VM 读取/写入 Google Storage
【发布时间】:2015-06-10 11:59:30
【问题描述】:

我设置了一个 Google Compute VM (LAMP) 网络服务器,用于将文件复制到 Google Storage Bucket,然后需要通过 Google Compute VM (Windows 2008) 上的程序访问(读取和写入)该存储桶。我似乎找不到任何关于 Google Compute Engine Windows VM 如何访问存储桶的文档。

有没有办法做到这一点?谢谢。

【问题讨论】:

    标签: google-cloud-storage google-compute-engine


    【解决方案1】:

    我也在做同样的事情,但不是用windows VM,但我认为原理是一样的。

    首先,您需要从 Google Cloud Console https://console.developers.google.com/project 允许您的 VM 进行项目访问,请参见下面的屏幕截图:

    完成此操作后,您需要调用元数据服务器以从您的程序中获取访问令牌。您需要对元数据服务器进行 HTTP 调用,这是文档 (https://cloud.google.com/compute/docs/authentication) 中使用 curl 的示例,请记住,在编程时您还需要提供标头 "Metadata-Flavor: Google"

    $ curl "http://metadata/computeMetadata/v1/instance/service-accounts/default/token" \ -H "元数据风格:谷歌"

    {
      "access_token":"ya29.AHES6ZRN3-HlhAPya30GnW_bHSb_QtAS08i85nHq39HE3C2LTrCARA",
      "expires_in":3599,
      "token_type":"Bearer"
    }
    

    显然,您需要使用您在程序中使用的任何一种编程语言对这个 HTTP 调用和 JSON 数据的解析进行编码,并根据 "expires_in 提取 "access_token" " 字段,您可能还需要实现一种机制,以便在新令牌过期后获取它。然后,您可以使用 Google 提供的云存储客户端库 (https://cloud.google.com/storage/docs/json_api/v1/libraries) 作为您的编程语言,并使用上面的访问令牌来验证对云存储的调用。我使用Java,API库中的云存储类有这个方法可以使用:

    .setOauthToken("blah")

    【讨论】:

    • 我需要运行的程序的开发已经停止,很遗憾永远不会更新以提供此身份验证。我发现的一个解决方案是在网络服务器上使用受限的 samba 共享,Windows VM 实例映射到该共享。不漂亮,需要一些额外的文件改组,但我认为这似乎是唯一的方法。感谢您的回复。
    【解决方案2】:

    您可以使用CloudBerry 安装驱动器。我想找到一种更好的方法来做到这一点,尽管只使用谷歌云。如果您发现更好的东西,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-22
      • 1970-01-01
      相关资源
      最近更新 更多