数据净室——云存储工具设置指南

高阶付费

概要:您可以设置一个或多个数据仓库(BigQuery、Snowflake)和/或云端数据存储桶(Amazon S3、GCS),用于与数据净室共享数据,并从其中接收报告。

概念

使用数据净室(DCR)之前,您需要先设置以下内容:

  • DCR读取您系统(自定义数据源)中的第一方数据时所使用的云服务/位置。这些位置信息用于创建数据传入连接
  • DCR处理完数据后传输报告时使用的云服务/位置。这些位置信息用于创建数据传出连接

创建数据传入或传出连接时需要完成以下2个步骤:

  • 第1步—启用DCR前,通过您选用的云服务平台完成相应的准备工作(即本文内容)。
  • 第2步—通过AppsFlyer平台将云服务连接到DCR(参见数据净室——数据连接使用指南)。

 注意

如需全面了解AppsFlyer对自定义来源数据的要求,请参见数据净室——数据连接使用指南

  • 数据格式(适用于所有类型的数据源)
  • 表格栏位(适用于数据仓库中的数据源)
  • 文件名称和格式(适用于云存储桶中的数据源)

适配的云服务

DCR的数据传入和传出连接支持两种类型的云服务:

  • 数据仓库:BigQuery和Snowflake
  • 云端数据存储桶:Amazon S3(AWS)和GCS

您可以使用这些服务中的任意一种或多种组合,来创建数据传入和传出连接。

 重要事项!

  • 如果您需要在一个报告中使用多个自定义数据源,必须将这些数据源都放在云端数据存储桶中。
  • 使用Amazon S3或GCS上的同一个数据存储桶同时用于数据的传入和传出是非常普遍的做法。请务必按照这种设置的专用说明进行操作。

向DCR传入数据的云服务连接设置

请根据下文各小节的说明,针对向DCR传入数据的云服务完成相应的前期配置。

数据仓库:BigQuery和Snowflake

BigQuery

请注意:这部分流程必须由您的Google Cloud管理员完成。

请按以下步骤创建数据集并向DCR授权:

  1. 登入Google Cloud Console。
  2. 进入BigQuery页面。
  3. 在新建或现有的Google Cloud项目中创建一个DCR专用的数据集:
    1. 左侧边栏中,点击项目ID右边的View actions按钮BQ_view_actions_button.png
    2. 选择Create dataset

      BQ_create_dataset.png

    3. 界面会打开右侧边栏,请在其中输入数据集的名称,并根据实际需求选择其他选项。
      • 您可以选用任何一个适合您要求的名称,但其中仅可包含字母、数字和下划线(_)。
        • 推荐方法:建议在该数据集名称中使用可表示数据传入连接的字样。
      • 强烈建议您不要使用Enable table expiration选项,因为若选择了此选项,DCR就无法在表格过期后读取该数据源中的数据。
    4. 点击BQ_create_dataset_button.png按钮。

  4. 向DCR开放该数据集的权限:
    1. 左侧边栏中,点击新建数据集右侧的View actions按钮BQ_view_actions_button.png
    2. 点击Share
    3. 界面会打开右侧边栏,请点击BQ_add_principal_button.png按钮。
    4. Add principals部分的New principals字段中输入以下账号:
      appsflyer-dcr@dcr-report.iam.gserviceaccount.com
    5. Assign roles部分中,选择BigQuery > BigQuery Data Viewer

      BQ_data_viewer.png

    6. 点击保存
    7. 点击CLOSE,关闭右侧边栏。

Snowflake

请注意:以下流程必须由Snowflake账户管理员(Accountadmin)完成。

请按以下方式创建DCR专用的私人共享

  1. 登入相关的Snowflake账户,确保该账户中包含您需要与DCR共享的数据。
  2. 将您的角色切换为Accountadmin
  3. 在左侧边栏中选择Private Sharing
  4. 界面打开的新页面中选择Shared By Your Account选项卡。

    snowflake_private_sharing.png

  5. 点击Share按钮。界面会打开一个列表,请在该列表中选择Create a Direct Share

    snowflake_create_direct_share.png

  6. 选择您需要与DCR共享的表格和/或视图,然后点击Done
  7. 根据实际需求更改Secure Share Identifier并添加额外说明。
  8. Add accounts in your region by name字段中根据您的Snowflake账户地区输入对应的AppsFlyer Snowflake账户:
    Region(地区) AppsFlyer账户
    EU West (eu-west-1) QL63117
    US East - N. Virginia (us-east-1) MWB70410
    US East - Ohio (us-east-2) BM15378
  9. 点击Create Share按钮。

云端数据存储桶——Amazon S3和GCS

您可以使用一个或多个存储桶向DCR上传数据(Amazon S3和/或GCS)。但大部分情况下,在同一个云服务平台中使用单个数据存储桶是最为简便的设置。

  • 您可以使用同一个存储桶来进行数据的传入和传出,具体操作请见下文说明

在AWS和GCS上创建数据存储桶时都需要符合以下要求:

  • 用途:该存储桶必须仅供AppsFlyer数据净室专用,不能同时让其他服务方在其中写入数据。
  • 权限:您必须为AppsFlyer的DCR服务开放存储桶权限。各云平台的权限开放方式请见下文相关小节。
  • 名称:存储桶名称必须以af-dcr-af-datalocker-开头
    • 示例:af-dcr-example-bucket
  • DCR命名要求:以下命名规则适用于所有的DCR数据实体(即数据存储桶、文件夹和文件):
    • 长度上限:200字符
    • 有效字符:
      • 字母(A-Z、a-z)
      • 数字(0-9)不能作为名称中的第一个字符
      • 分号(-)不能作为名称中的第一个字符
      • 无效字符:
        • 空格
        • 所有其他符号和特殊字符
      • 具有特定用途的字符:

Amazon S3

请注意:这部分流程必须由您的AWS管理员完成。

请按以下方式创建数据存储桶并为AppsFlyer开放权限:

  1. 登入AWS Console。
  2. 进入S3服务。
  3. 创建存储桶:
    1. 点击Create bucket
    2. 填写Bucket name,以af-dcr-af-datalocker-开头,并按上文的DCR命名要求在后面接上您为其赋予的名称。
    3. 点击Create bucket
  4. 为AppsFlyer开放存储桶权限:
    1. 选择您为DCR创建的存储桶。
    2. 去到授权选项卡。 
    3. Bucket policy部分,点击Edit。
      界面会打开Edit bucket policy窗口。
    4. 将以下代码片段复制粘贴到该窗口中:
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Sid": "AF-DCR-DL",
            "Effect": "Allow",
            "Principal": {
              "AWS": [         "arn:aws:iam::195229424603:user/product=dcr-reporter__envtype=prod__ns=default",   "arn:aws:iam::195229424603:user/product=datalocker__envtype=prod__ns=default"
              ]
            },
            "Action": [
              "s3:GetObject",
              "s3:ListBucket",
              "s3:DeleteObject",
              "s3:PutObject"
            ],
            "Resource": [
              "arn:aws:s3:::af-dcr-mybucket",
              "arn:aws:s3:::af-dcr-mybucket/*"
            ]
          }
        ]
      }
      
  5. 将上述代码中的af-dcr-mybucket(两行代码)替换成该存储桶的名称。注意替换代码中的存储桶名称时,切勿覆盖第二行的存储桶名称里的/*

  6. 点击保存更改

GCS

请注意:这部分流程必须由您的Google Cloud管理员完成。

请按以下方式创建数据存储桶并为AppsFlyer开放权限:

  1. 登入您的GCS Console。
  2. 进入Cloud Storage Browser页面。
  3. 创建存储桶:
    1. 点击Create bucket
    2. 请在Create a bucket(创建存储桶)页面中输入您的存储桶信息,包括存储桶名称。该名称须以af-dcr-af-datalocker-开头,并按上文的DCR命名要求在后面接上您为其赋予的名称。
    3. 点击下一步
    4. 点击创建
  4. 为AppsFlyer开放存储桶权限:
    1. 选择您为DCR创建的存储桶。
    2. 去到授权选项卡。 
    3. 进入Permissions部分,点击+ Add
      界面打开Add members窗口。
    4. New members文本框中输入以下账号:
      appsflyer-dcr@dcr-report.iam.gserviceaccount.com
    5. 角色列表中选择云存储 > 存储工具管理员

      dcr_gcs_permissions.png

    6. 点击保存

向DCR传出数据的云服务连接设置

DCR会通过AppsFlyer Data Locker向您选定的云服务平台发送DCR报告。

  • 请注意:接收DCR报告不需要Data Locker的付费功能。如果您需要通过Data Locker接收其他的AppsFlyer报告,请联系您的CSM或发送邮件至hello@appsflyer.com咨询详情。

我们可以向您云服务平台中的一个或多个位置发送DCR报告(无论您是否同时使用该平台向DCR传入数据)。请根据下文各小节的说明,为用于数据传出的云服务平台完成相应的前期配置。

数据仓库:BigQuery和Snowflake

BigQuery

请注意:这部分流程必须由您的Google Cloud管理员完成。

请按以下方式创建数据集并向Data Locker开放权限:

  1. 登入Google Cloud Console。
  2. 进入BigQuery页面。
  3. 在新建或现有的Google Cloud项目中创建一个Data Locker专用的数据集:
    1. 左侧边栏中,点击项目ID右边的View actions按钮BQ_view_actions_button.png
    2. 选择Create dataset

      BQ_create_dataset.png

    3. 界面会打开右侧边栏,请在其中输入数据集的名称,并根据实际需求选择其他选项。
      • 您可以选用任何一个适合您要求的名称,但其中仅可包含字母、数字和下划线(_)。
        • 推荐方法:建议在该数据集名称中使用可表示数据传出连接的字样。
      • 强烈建议您不要使用Enable table expiration选项,因为若选择了此选项,Data Locker就无法在表格过期后向该数据集中写入数据。
    4. 点击BQ_create_dataset_button.png按钮。

  4. 向Data Locker开放该数据集的权限:
    1. 左侧边栏中,点击新建数据集右侧的View actions按钮BQ_view_actions_button.png
    2. 点击Share
    3. 界面会打开右侧边栏,请点击BQ_add_principal_button.png按钮。
    4. Add principals部分的New principals字段中输入以下账号:
      datalocker-bq-admin-prod@datalocker-bq-prod.iam.gserviceaccount.com
    5. Assign roles部分中,选择BigQuery > BigQuery Data Editor

      BQ_data_editor.png

    6. 点击保存
    7. 点击CLOSE,关闭右侧边栏。

Snowflake

在Snowflake中完成数据传出连接的前期配置时,还需要创建数据传出连接本身,这两个流程是同时进行的。

云端数据存储桶——Amazon S3和GCS

为云端存储桶完成数据传出连接的前期配置与传入连接的前期配置(包括针对两种云存储服务平台的操作说明)十分相似。

下文各小节说明仅适用于云存储桶的数据传出连接

Amazon S3

请按说明创建用于传入数据的Amazon S3存储桶(勿更变该流程)。

GCS

请按说明创建用于传入数据的GCS存储桶。进入流程中的第4步时,请在New members文本框中输入以下账号:
af-data-delivery@af-raw-data.iam.gserviceaccount.com

同时用于数据传入和传出的存储桶设置

如前文所述,使用Amazon S3或GCS上的同一个数据存储桶同时用于数据的传入和传出是非常普遍的做法。

这部分的设置操作与传入连接的前期配置非常相似,仅稍有不同。配置操作的不同之处取决于您是否:

  • 创建新桶,用于DCR的数据传出和传入;还是
  • 将之前专用于Data Locker的存储桶进行修改,以用于DCR的数据传出和传入

这两种场景的操作说明请见下文对应的小节:

Amazon S3

创建新的数据存储桶用于数据的传入/传出

请按说明创建用于传入数据的Amazon S3存储桶(勿更变该流程)。

对之前专用于Data Locker的存储桶进行修改

对之前专用于Data Locker的存储桶进行修改时需要更改存储桶权限(将访问权限同时开放给DCR和Data Locker)。

请按以下方式更改存储桶权限:

  1. 登入AWS Console。
  2. 进入S3服务。
  3. 选择之前专用于Data Locker的存储桶。
  4. 去到授权选项卡。 
  5. Bucket policy部分,点击Edit。
    界面会打开Edit bucket policy窗口。
  6. 将窗口中的内容替换为以下代码段:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "AF-DCR-DL",
          "Effect": "Allow",
          "Principal": {
            "AWS": [         "arn:aws:iam::195229424603:user/product=dcr-reporter__envtype=prod__ns=default",   "arn:aws:iam::195229424603:user/product=datalocker__envtype=prod__ns=default"
            ]
          },
          "Action": [
            "s3:GetObject",
            "s3:ListBucket",
            "s3:DeleteObject",
            "s3:PutObject"
          ],
          "Resource": [
            "arn:aws:s3:::af-dcr-mybucket",
            "arn:aws:s3:::af-dcr-mybucket/*"
          ]
        }
      ]
    }
    
    • 将上述代码中的af-dcr-mybucket(两行代码)替换成该存储桶的名称。
    • 注意替换代码中的存储桶名称时,切勿覆盖第二行的存储桶名称里的/*
  7. 点击保存更改

GCS

创建新的数据存储桶用于数据的传入/传出

请按说明创建用于传入数据的GCS存储桶。进入流程中的第4步时,请在New members文本框中输入以下2个账号
appsflyer-dcr@dcr-report.iam.gserviceaccount.com
af-data-delivery@af-raw-data.iam.gserviceaccount.com

对之前专用于Data Locker的存储桶进行修改

对之前专用于Data Locker的存储桶进行修改时需要更改存储桶权限(将访问权限同时开放给DCR和Data Locker)。

请按以下方式更改存储桶权限:

  1. 登入您的GCS Console。
  2. 进入Cloud Storage Browser页面。
  3. 选择之前专用于Data Locker的存储桶。
  4. 进入Permissions选项卡。
  5. 进入权限部分,点击+添加
    界面打开添加成员窗口。
  6. New members文本框中输入以下账号:
    appsflyer-dcr@dcr-report.iam.gserviceaccount.com
  7. 角色列表中选择云存储 > 存储工具管理员

    dcr_gcs_permissions.png

  8. 点击保存