Data Locker: настройка облачного сервиса

Краткий обзор.: Настройте свой облачный сервис для получения данных из Data Locker: GCS, AWS, BigQuery или Snowflake.

Data Locker позволяет передавать данные в выбранное хранилище, облачную корзину или локальное хранилище данных. Настройте облачный сервис, используя одну из следующих процедур.

Облачная корзина

Хранилище GCS

  • Процедуру, описанную в этом разделе, должен выполнить ваш администратор Google Cloud.
  • Вы можете удалить файлы из Data Locker через 25 и более часов после их записи. Не удаляйте файлы до истечения этого времени.

Информация для администратора GCS

Data Locker — это решение AppsFlyer для потоковой передачи данных в хранилище.

Требования

  • Создайте корзину в GCS исключительно для хранения данных Data Locker. Т. е. никакие другие сервисы не должны записывать данные в эту корзину.
  • Задайте название корзины, например, af-datalocker (рекомендуется).
  • Предоставьте Data Locker необходимые разрешения, используя следующую процедуру.

Чтобы предоставить разрешения Data Locker:

В этой процедуре замените data-locker-example на имя корзины, которую вы ранее создали для Data Locker. 

  1. Войдите в консоль GCS.
  2. Перейдите в хранилище Storage > Storage browser.

    mceclip0.png

  3. Выберите корзину, которую вы создали ранее, например data-locker-example.
  4. Перейдите на вкладку Permissions (Разрешения). 
  5. Нажмите + Add (Добавить).
    Откроется окно Add members (Добавить пользователей).
  6. Заполните поля следующим образом:
    1. New members, вставьте следующий фрагмент.
      af-data-delivery@af-raw-data.iam.gserviceaccount.com
    2. Выберите роль: Cloud storage > Storage Object Admin (Администратор объектов хранилища). 

      mceclip0.png

  7. Нажмите кнопку Сохранить

Хранилище AWS

  • Процедуру, описанную в этом разделе, должен выполнить ваш администратор AWS.
  • Вы можете удалить файлы из Data Locker через 25 и более часов после их записи. Не удаляйте файлы до истечения этого времени.

Информация для администратора AWS

Data Locker — это решение AppsFlyer для потоковой передачи данных в хранилище.

Требования

  • Создайте корзину с именем af-datalocker-моякорзина. Префикс af-datalocker- обязателен. В суффиксе можно указать любое текстовое значение.
  • Рекомендуем использовать формат "af-datalocker-гггг-мм-дд-чч-мм-произвольный-текст". Где "гггг-мм-дд-чч-мм" — это текущие дата и время, а "произвольный-текст" — нужное вам название, как показано на следующем рисунке.

Пользовательский интерфейс в консоли AWS

MyBucket.jpg

После создания корзины предоставьте AppsFlyer необходимые разрешения, используя следующую процедуру. 

Чтобы создать корзину и предоставить разрешения AppsFlyer: 

  1. Войдите в консоль AWS.
  2. Откройте сервис S3.
  3. Чтобы создать корзину:
    1. Нажмите Create bucket (Создать корзину).
    2. Заполните поле Bucket name (Название корзины) следующим образом: начните с префикса af-datalocker-, затем добавьте оставшуюся часть, как описано выше.
    3. Нажмите Создать корзину.
  4. Чтобы предоставить разрешения AppsFlyer:
    1. Выберите корзину. 
    2. Перейдите на вкладку Permissions (Разрешения). 
    3. В разделе Bucket policy (Политика корзины) нажмите Edit (Редактировать). 
      Откроется окно политики корзины.
    4. Вставьте в это окно следующий фрагмент кода.
      {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Sid": "AF_DataLocker_Direct",
            "Effect": "Allow",
            "Principal": {
              "AWS": "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-datalocker-my-bucket",
              "arn:aws:s3:::af-datalocker-my-bucket/*"
            ]
          }
        ]
      }
      
  5. В этом коде замените af-data-locker-my-bucket на название созданной вами корзины.

  6. [Необязательно] Добавьте поддержку корзин, зашифрованных KMS. Для этого в разделе Политика ключей выберите Переключиться в представление политики и вставьте следующий фрагмент в массив Statement.
    {
          "Sid": "Allow use of the key",
          "Effect": "Allow",
          "Principal": {
              "AWS": "arn:aws:iam::195229424603:user/product=datalocker__envtype=prod__ns=default"
          },
          "Action": "kms:GenerateDataKey*",
          "Resource": "*"
      }
    
  7. Выберите Сохранить изменения.
  8. Выполните процедуру настройки Data Locker.

[Бета] Хранилище Azure

  • Процедуру, описанную в этом разделе, должен выполнить ваш администратор Azure Cloud.
  • Вы можете удалить файлы из Data Locker через 25 и более часов после их записи. Не удаляйте файлы до истечения этого времени.

Информация для администратора Azure

Data Locker — это решение AppsFlyer для потоковой передачи данных в ваш аккаунт хранилища.

Чтобы определить аккаунт хранилища для Data Locker:

  1. Перейдите к аккаунтам хранилища Azure
  2. Создайте новый аккаунт для получения данных Appsflyer
  3. Необязательно: Создайте новую группу ресурсов (если группы ресурсов нет)
  4. Выберите подписку, назовите новый аккаунт хранилища и выберите соответствующий регион
  5. Включите иерархическое пространство имен
  6. Обратитесь к своему CSM для включения Azure в Data Locker (после включения вам потребуется указанное выше название аккаунта хранилища и его ключ для ввода в мастере создания нового подключения Data Locker)

[Бета-версия] Облачное хранилище Yandex Cloud

  • Процедуру, описанную в этом разделе, должен выполнить ваш администратор Yandex Cloud.
  • Вы можете удалить файлы из Data Locker через 25 и более часов после их записи. Не удаляйте файлы до истечения этого времени.

Информация для администратора Yandex

Data Locker — это решение AppsFlyer для потоковой передачи данных в хранилище.

Чтобы создать корзину и предоставить разрешения Data Locker:

  1. В вашей консоли Yandex Cloud перейдите на вкладку Аккаунты службы и нажмите Создать аккаунт службы.
  2. Назовите аккаунт службы, например, af-datalocker.
  3. Создайте статический ключ доступа для аккаунта службы. В аккаунте:
    1. Нажмите Создать новый ключ.
    2. Выберите Создать статический ключ доступа.
    3. Сохраните идентификатор ключа и секретный ключ.
  4. Дайте новому аккаунту службы разрешение storage.editor (редактор хранилища).
    1. В настройках корзины перейдите в раздел Access Bindings (Доступ к привязкам) и нажмите Assign bindings (Привязать).
    2. Для нового аккаунта службы добавьте роль storage.editor и нажмите Сохранить.
  5. Свяжитесь с вашим менеджером AppsFlyer, чтобы включить Яндекс в Data Locker.
  6. После включения используйте идентификатор ключа и секретный ключ во время настройки Data Locker.

Облачное хранилище данных

BigQuery

Процедуру, описанную в этом разделе, должен выполнить ваш администратор BigQuery.

Информация для администратора BigQuery

Data Locker — это решение AppsFlyer для потоковой передачи данных в хранилище.

Требования

  • Создайте набор данных BigQuery

Чтобы создать набор данных BigQuery: 

  1. В BigQuery создайте проект или используйте существующий проект. 
  2. В проекте нажмите CREATE DATASET (Создать набор данных).

    GCSCreateDataSEt_1_.png

  3. Присвойте набору данных подходящий идентификатор.
  4. Предоставьте AppsFlyer доступ к этому набору данных. См. инструкции BigQuery
    • Для Add principal (Добавить принципала) используйте следующего пользователя AppsFlyer: datalocker-bq-admin-prod@datalocker-bq-prod.iam.gserviceaccount.com.
    • Для Assign roles (Назначить роли), выберите BigQuery Data Editor (Редактор данных BigQuery).
  5. Задайте значения других необходимых параметров. 

Snowflake

Подключите Data Locker к своему аккаунту Snowflake. Данные будут отправляться в Snowflake и останутся доступны в выбранном вами облачном хранилище.

Примечания для разработчиков решений бизнес-аналитики

  • Частота обновления данных такая же, как у данных, поступающих в корзину. 
  • Структура таблицы и столбцов с данными такие же, как у данных, доступных в корзине Data Locker. 
  • По мере добавления строк в общую папку Snowflake заполняется столбец _ingestion_time. Чтобы обеспечить уникальность строк и не допустить многократный импорт одной и той же строки:
    1. Сохраните max_ingestion_time для каждой импортируемой таблицы.
    2. При каждом запуске процесса импорта загружать только те строки, у которых _ingestion_time > max_ingestion_time

Чтобы подключить Snowflake к Data Locker, выполните указанные ниже действия. 

Процедура для коннектора Snowflake

Чтобы узнать регион и идентификатор аккаунта Snowflake:

  1. В Snowflake войдите в свой аккаунт Snowflake.
  2. В строке меню выберите свое имя.
    Появятся регион и идентификатор аккаунта.

    SnowflakeAccountId.png

Чтобы подключить Data Locker к Snowflake:

  1. В AppsFlyer перейдите в раздел Отчеты > Data Locker.
  2. Выберите Snowflake.
  3. Укажите регион Snowflake и ID аккаунта Snowflake, используя информацию, которую вы ранее получили от Snowflake. 
  4. Нажмите кнопку Сохранить.

Чтобы создать базу данных из общей папки Snowflake:

  1. В Snowflake войдите в свой аккаунт Snowflake.
  2. Смените роль на Accountadmin (Админстратор аккаунта). См. раздел Создание базы данных из общей папки.
  3. Выберите Shares (Общие папки).
  4. Выберите общую папку AppsFlyer. Например, APPSFLYER_ACC_XXX_DATA_LOCKER. 
  5. Нажмите Create Database from Secure Share (Создать базу данных из защищенной общей папки) и заполните необходимые поля. Внимание! Обязательно загрузите данные из общей базы в свои таблицы, поскольку срок их доступности в базе данных ограничен (в настоящее время — 14 днями).  
  6. В базе данных отображаются импортированные таблицы. Названия и структура таблиц аналогичны используемым в корзинах Data Locker.