使用入门

当您与销售或支持联系人一起设置对数据传输 v2.0 的访问权限时,系统会向您提供一个存储分区名称。您需要向销售联系人提供 Google 群组,以便控制对 Google Cloud Storage 中数据文件的访问权限。

您可以选择使用实用程序访问数据,也可以自行编写代码

使用 gsutil 访问数据

gsutil 工具是一个用 Python 编写的命令行应用,可让您直接访问数据,而无需进行任何编码。例如,您可以将 gsutil 用作脚本或批处理文件的一部分,而不是创建自定义应用。

如需开始使用 gsutil,请参阅 gsutil 文档。该工具会在您首次使用时提示您输入凭据,然后存储这些凭据以备以后使用。

gsutil 示例

您可以使用 gsutil 列出所有文件,如下所示:

gsutil ls gs://[bucket_name]/[object name/file name]

gsutil 使用的许多语法和 UNIX 的语法(包括通配符星号 (*))相同,因此您可以列出所有 NetworkImpression 文件:

gsutil ls gs://[bucket_name]/dcm_account6837_impression_*

下载文件也很简单:

gsutil cp gs://[bucket_name]/dcm_account6837_impression_2015120100.log.gz

您可以使用 Unix shell 脚本将文件从分散的 DT Google 存储分区复制到您自己的 Google API GCS 存储分区中,具体有两种方法:

  • 在 gsutil 中,如果您使用的是 Unix 系统,请每天为所有存储分区运行以下命令:

    $ day=$(date --date="1 days ago" +"%m-%d-%Y")
    $ gsutil -m cp gs://{<dcmhashid_A>,<dcmhashid_B>,etc.}/*$day*.log.gz gs://<client_bucket>/
    
  • 或者,有点棘手的解决方案是使用 bash 文件:

    #!/bin/bash
    
    set -x
    
    buckets={dfa_-hasid_A dfa_-hashid_B,...} #include all hash ids
    day=$(date --date="1 days ago" +"%m-%d-%Y")
    for b in ${buckets[@]}; do /
        gsutil -m cp gs://$b/*$day*.log.gz gs:/// /
    done
    

以编程方式访问数据

Google Cloud Storage 提供适用于多种编程语言的 API 和示例,让您能够以程序化方式访问数据。下面列出了特定于 Data Transfer v2.0 的步骤,以便您构建有效的集成。

获取服务帐号

如需开始使用 Data Transfer v2.0,您需要先使用设置工具,该工具会引导您在 Google API 控制台中创建项目、启用 API 以及创建凭据。

要开设新的服务帐号,请按以下步骤操作:

  1. 点击创建凭据 > 服务帐号密钥
  2. 选择要下载哪种格式的服务帐号公钥/私钥文件,是标准的 P12 文件还是可由 Google API 客户端库加载的 JSON 文件。

接下来系统就会为您生成新的公钥/私钥对并将其下载到您的计算机;这对密钥仅此一份,您应负责妥善存储。

请务必使此窗口保持打开状态,您在下一步中需要使用服务帐号电子邮件地址。

向群组添加服务帐号

  • 转到 Google 网上论坛
  • 点击“我的群组”,然后选择用于管理 DT v2.0 Cloud Storage 存储分区访问权限的群组
  • 点击“管理”
  • 请勿点击“邀请成员”!
  • 点击“直接添加成员”
  • 将上一步中的服务帐号电子邮件地址复制到成员框中
  • 选择“不接收电子邮件”
  • 点击“Add”(添加)按钮

我不小心点击了“邀请成员”

范围

传递到 Cloud Storage 的所有范围都必须是只读的

例如,使用 Java 客户端库时,应使用的正确范围为:

StorageScopes.DEVSTORAGE_READ_ONLY