Amazon S3
Amazon Simple Storage Service (Amazon S3) ― это служба хранения объектов, которая обеспечивает лучшую в отрасли масштабируемость, доступность данных, безопасность и производительность.
Подготовка к проверке подлинности
Для доступа к данным необходимо проверить подлинность подключения, используя регистрационные данные учетной записи пользователя.
Для подключения к Amazon S3 необходимы разрешения в AWS Identity Access Management (IAM), которые позволяют создавать политики, создавать роли и прикреплять политики к ролям. Это необходимо для того, чтобы предоставить авторизацию блоку S3:
Создание политики IAM
Политика IAM ― это язык политики доступа на основе JSON для управления правами доступа к ресурсам блока.
Имя разрешения | Операция | Описание |
s3:GetObject | GET Object |
Позволяет извлекать объекты из Amazon S3. |
s3:GetObject | HEAD Object | Позволяет извлекать метаданные из объекта, не возвращая сам объект. |
s3:ListBucket | GET Bucket (список объектов) |
Позволяет вернуть некоторые или все (до 1 000) объекты в блоке. |
s3:ListBucket | HEAD Bucket |
Используется для определения того, существует ли блок и разрешен ли к нему доступ. |
Чтобы создать политику IAM, выполните следующие действия.
- В AWS перейдите к службе IAM: щелкните меню Службы и введите IAM.
- Щелкните результат IAM, как только он появится в списке.
- Щелкните Policies (Политики) в меню в левой части страницы.
- Нажмите Create Policy (Создать политику).
- На странице Create Policy (Создание политики) перейдите на вкладку JSON.
- Выделите все содержимое текстового поля и удалите его.
- В текстовое поле вставьте следующий JSON и замените MyBucketName на имя блока:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::MyBucketName", "arn:aws:s3:::MyBucketName/*" ] } ] }
- Нажмите Review policy (Обзор политики).
- На странице Review Policy (Просмотр политики) дайте политике имя. Например, элемент
qlik_amazon_s3
. - Нажмите Create Policy (Создать политику).
Создание роли IAM
Чтобы выполнить этот шаг, необходимы следующие разрешения AWS IAM: CreateRole
и AttachRolePolicy
. Для получения дополнительной информации см. документацию Amazon.
Если создается несколько интеграций Amazon S3, необходимо выполнить этот шаг для каждой подключаемой интеграции.
- В AWS перейдите на страницу IAM Roles (Роли IAM).
- Нажмите Create Role (Создать роль).
- На странице Create Role (Создание роли):
- В разделе Select type of trusted entity (Выбор типа доверенного лица) выберите вариант Another AWS account (Другая учетная запись AWS).
- В поле Account ID (Идентификатор учетной записи) вставьте
338144066592
. - В разделе Параметры (Опции) установите флажок Require external ID (Требовать внешний идентификатор).
- В появившемся поле External ID (Внешний идентификатор) вставьте
qlik_connection_<tenant-id>
и замените <tenant-id> на идентификатор клиента.Чтобы найти идентификатор клиента, см. раздел Поиск информации о клиенте.
- Нажмите кнопку Next: Permissions (Далее: Разрешения).
- На странице Attach permissions (Прикрепить разрешения):
- Найдите политику, созданную при выполнении шага Создание политики IAM.
- Установите флажок рядом с политикой в таблице.
- Нажмите кнопку Next: Tags (Далее: Теги).
- Если требуется ввести какие-либо теги, сделайте это на странице Add tags Добавление тегов). В противном случае нажмите Далее: Обзор.
- На странице Review (Обзор):
- В поле Role name (Имя роли) вставьте
qlik_s3_<tenant-id>
и замените <tenant-id> на идентификатор клиента.Чтобы найти идентификатор клиента, см. раздел Поиск информации о клиенте.
- В поле Role description (Описание роли) введите описание ссылки. Например:
Qlik role for Amazon S3 integration.
- Нажмите Create Role (Создать роль).
- В поле Role name (Имя роли) вставьте
Определение шаблона поиска
Поле Search Pattern (Шаблон поиска) определяет критерии поиска, которые Qlik должен использовать для выбора и репликации файлов. Это поле принимает регулярные выражения, с помощью которых можно включить один или несколько файлов.
При создании шаблона поиска помните следующее:
- При включении нескольких файлов для одной таблицы, каждый файл должен иметь одинаковые значения строк заголовка.
- Специальные символы, такие как точки (
.
), имеют особое значение в регулярных выражениях. Для точного соответствия их необходимо маскировать. Например:.\
- В Qlik, Python используется для регулярных выражений, которые могут отличаться по синтаксису от других разновидностей. Попробуйте использовать PyRegex для проверки выражений перед сохранением интеграции.
- Шаблоны поиска должны учитывать, как обновляются данные в файлах. Рассмотрим эти примеры:
Сценарий | Один файл, периодически обновляемый | Несколько файлов, создаваемых ежедневно |
Как создаются обновления | Один JSONL-файл периодически обновляется новыми и обновленными данными о клиентах. | Каждый день создается новый CSV-файл, содержащий новые и обновленные данные о клиентах. Старые файлы никогда не обновляются после создания. |
Имя файла | customers.jsonl
|
customers-[STRING].csv , где [STRING] ― уникальная случайная строка. |
Шаблон поиска |
Поскольку файл всегда будет только один, можно ввести точное имя файла в блоке S3:
|
Чтобы обеспечить идентификацию новых и обновленных файлов, необходимо ввести шаблон поиска, который будет соответствовать всем файлам, начинающимся с
|
Совпадения | customer.jsonl , точно |
|
Требования к файлу
Заголовок первой строки (только для файлов CSV) |
|
Типы файлов |
|
Типы сжатия |
Эти файлы должны быть правильно сжаты, иначе при извлечении возникнут ошибки.
|
Разделители (только для файлов CSV) |
|
Кодирование символов |
UTF-8 |
Создание подключения
Для получения дополнительной информации см. раздел Подключение к приложениям SaaS.
- Заполните необходимые свойства подключения.
-
Заполните поле Имя подключения.
-
Установите флажок Открыть метаданные подключения, чтобы определить метаданные для подключения, когда оно будет создано.
-
Щелкните Создать.
Параметр | Описание |
---|---|
Шлюз данных |
Выберите шлюз Data Movement gateway, если этого требует текущий сценарий использования. Примечание к информации
Это поле недоступно при использовании подписки Qlik Talend Cloud Starter, так как она не поддерживает Data Movement gateway. Если используется другой уровень подписки или не требуется использовать Data Movement gateway, выберите Нет. Для получения информации о преимуществах Data Movement gateway и о сценариях, требующих его использования, см. раздел Qlik Data Gateway — Data Movement. |
Дата начала |
Введите дату в формате |
Блок S3 | Имя блока S3. |
Идентификатор учетной записи AWS |
Внешний идентификатор в AWS. См. раздел Подготовка к проверке подлинности. Шаблон: |
Шаблон поиска | Введите файлы, которые требуется включить в таблицу. Можно ввести одно имя файла или регулярное выражение. Пример: |
Каталог | Ограничьте поиск, указав конкретный путь к каталогу. Когда задан этот параметр, поиск будет выполняться только по файлам в этой папке, при этом будут возвращены те, которые соответствуют шаблону поиска. Нельзя использовать регулярные выражения. Пример: csv-exports-folder или employee_jsonl_exports. |
Конфигурация таблицы
Настройте таблицу, указав файлы, которые требуется включить. Можно настроить несколько таблиц. |
|
Имя таблицы | Имя таблицы. У каждой цели есть свои правила именования таблиц. Например, имена таблиц Amazon Redshift не могут превышать 127 символов. |
Первичный ключ | Введите первичный ключ для идентификации уникальных строк или записей. При вводе более одного ключа используйте запятую для разделения значений.
Пример: id, name. |
Укажите поля даты и времени | Введите значения, которые должны отображаться в таблице как дата и время, а не как строка. Пример: created_at, modified_at. |
Разделитель | Выберите разделитель в раскрывающемся списке. |