开始使用

在与销售或支持人员联系以设置对 Data Transfer 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 和示例,让您能够以编程方式访问数据。以下是构建可正常运行的集成时必须执行的特定于数据传输 v2.0 的步骤。

获取服务账号

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

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

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

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

请务必保持此窗口处于打开状态,您将在下一步中需要用到该服务账号电子邮件地址。

向群组添加服务账号

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

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

范围

传递给 Cloud Storage 的任何范围都必须是只读范围

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

StorageScopes.DEVSTORAGE_READ_ONLY