Google Cloud Storage
Google Cloud Storage — это унифицированный сервис объектного хранилища Google для хранения и доступа к данным в инфраструктуре Google Cloud. Он обеспечивает высокую доступность, глобальную избыточность и интегрируется с более широкой экосистемой Google Cloud.
Qlik Talend Cloud использует сервисную учетную запись Google Cloud с доступом на чтение к целевому блоку для подключения к Google Cloud Storage (GCS). Коннектор извлекает файлы из указанного блока, автоматически обнаруживает схемы путем выборки содержимого файлов и выполняет инкрементальную репликацию данных на основе меток времени изменения файлов.
Подготовка к аутентификации
Для доступа к вашим данным необходимо аутентифицировать подключение с помощью учетных данных вашей учетной записи.
Для настройки учетной записи Google Cloud Storage вам потребуется:
- Проект Google Cloud Platform (GCP) с включенным API Cloud Storage.
- Блок Google Cloud Storage (GCS), содержащий файлы для репликации.
- Сервисная учетная запись с доступом на чтение к блоку.
Рекомендуемая роль — Storage Object Viewer (
roles/storage.objectViewer), которая предоставляет необходимые разрешенияstorage.objects.getиstorage.objects.list. Для получения дополнительной информации см. документацию по ролям IAM Google Cloud Storage . - Файл ключа JSON сервисной учетной записи, загруженный для сервисной учетной записи.
Чтобы создать сервисную учетную запись и получить учетные данные:
- Войдите в свою учетную запись Google Cloud.
- Перейдите в IAM & Admin > Service Accounts.
- Нажмите Create Service Account.
- Введите имя и описание для сервисной учетной записи, затем нажмите Create and Continue.
- Назначьте сервисной учетной записи роль Storage Object Viewer или пользовательскую роль с разрешениями
storage.objects.getиstorage.objects.list. - Нажмите Continue и Done.
- В только что созданной сервисной учетной записи откройте меню Actions.
- Перейдите в Manage keys > Add key > Create new key.
- Выберите JSON и нажмите Create.
Файл ключа JSON будет загружен прямо на ваш компьютер. Этот файл включает поля
project_id,client_emailиprivate_key, необходимые для установки подключения.Вы можете загрузить файл ключа только один раз. Обязательно храните его в надежном месте и сделайте резервную копию, так как он предоставляет доступ к вашим ресурсам Google Cloud.
Поддерживаемые форматы файлов
- Текст с разделителями: CSV, TSV, PSV, TXT (с настраиваемым разделителем)
- JSON Lines (
.jsonl) - Parquet (
.parquet) - Avro (
.avro) - Файлы, сжатые с помощью Gzip (
.gz), содержащие любой из вышеперечисленных форматов - ZIP-архивы, содержащие файлы CSV, JSON Lines, TXT, TSV, PSV или Gzip
Создание подключения
Для получения дополнительной информации см. раздел Подключение к приложениям SaaS.
- Заполните необходимые свойства подключения.
-
Заполните поле Имя подключения.
-
Установите флажок Открыть метаданные подключения, чтобы определить метаданные для подключения, когда оно будет создано.
-
Щелкните Создать.
| Настройка | Описание |
|---|---|
| Data gateway |
Выберите шлюз Шлюз движения данных, если этого требует текущий сценарий использования. Примечание к информации
Это поле недоступно при использовании подписки Qlik Talend Cloud Starter, так как она не поддерживает Шлюз движения данных. Если используется другой уровень подписки или не требуется использовать Шлюз движения данных, выберите Нет. Для получения информации о преимуществах Шлюз движения данных и о сценариях, требующих его использования, см. раздел Шлюз данных Qlik — движение данных. |
| Start Date |
Введите дату в формате |
| Client Email | Электронная почта клиента из файла ключа JSON сервисной учетной записи. |
| Project ID | Идентификатор проекта из файла ключа JSON сервисной учетной записи. |
| Bucket | Имя блока Google Cloud Storage (GCS), в котором хранятся файлы, например my-gcs-bucket.
Не включайте префикс |
| Tables | Настройте таблицы, чтобы контролировать, какие файлы считываются и как интерпретируется их содержимое. Каждое определение таблицы включает шаблон поиска файлов, имя таблицы и дополнительные настройки для расширенного поведения. |
| Private Key | Закрытый ключ из файла ключа JSON сервисной учетной записи. |
Конфигурация таблицы
Каждая запись в конфигурации таблицы определяет логическую таблицу, созданную из файлов в целевом блоке. Вы можете настроить следующие свойства для каждой таблицы:
| Свойство | Обязательное или необязательное | Описание |
|---|---|---|
| Имя таблицы | Обязательное |
Укажите имя для логической таблицы, например my_orders_csv. Это имя будет отображаться как имя потока в Qlik Talend Cloud.
|
| Шаблон поиска | Обязательное |
Введите регулярное выражение для сопоставления имен файлов, например .csv$, чтобы выбрать все файлы CSV.
|
| Префикс поиска | Необязательное | Укажите префикс пути внутри блока, чтобы сузить поиск файлов, например exports/orders/. Использование префикса повышает производительность за счет ограничения количества сканируемых файлов.
|
| Свойства ключа | Необязательное |
Перечислите одно или несколько имен столбцов через запятую, чтобы определить первичный ключ. Например: id или id,date.
|
| Переопределения дат | Необязательное | Перечислите имена столбцов через запятую, которые следует рассматривать как поля даты и времени. Используйте этот параметр, если эти поля не обнаруживаются автоматически во время обнаружения схемы. |
| Разделитель | Необязательное |
Укажите символ, который разделяет значения в ваших файлах. По умолчанию используется , (запятая). Используйте \t для файлов с разделителями-табуляциями (TSV) или | для файлов с разделителями-вертикальными чертами (PSV). Если оставить поле пустым, система автоматически определит разделитель на основе расширения файла.
|
Реплицированные таблицы
Таблицы создаются на основе конфигурации таблицы (см. выше). Каждая таблица соответствует набору файлов в блоке Google Cloud Storage (GCS), которые соответствуют как указанному шаблону поиска, так и любому необязательному префиксу. Коннектор автоматически обнаруживает схемы путем выборки до 5 файлов на таблицу, считывая каждую пятую строку, максимум 1000 записей на файл.
Репликация является инкрементальной и использует метки времени изменения файлов для отслеживания изменений. Во время каждого извлечения коннектор обрабатывает только те файлы, которые были изменены с момента последней успешной синхронизации, как записано в закладке синхронизации.
Следующие системные столбцы добавляются в каждую таблицу по умолчанию:
| Столбец | Описание |
|---|---|
_sdc_source_bucket
|
Имя блока Google Cloud Storage (GCS), из которого была прочитана запись. |
_sdc_source_file
|
Полный путь к файлу, содержащему запись. |
_sdc_source_lineno
|
Номер строки записи в файле. |
_sdc_extra
|
Любые дополнительные столбцы, найденные во время синтаксического анализа, которые не соответствуют обнаруженной схеме. Применяется только к файлам JSONL. |
Ограничения и рекомендации
-
Учетные данные сервисной учетной записи (
project_id,client_email,private_key) должны быть предоставлены в виде отдельных значений, извлеченных из файла ключа JSON; загрузка файла не поддерживается. -
Поддерживаются файлы, сжатые с помощью Gzip (
.gz). Коннектор считывает исходное имя файла из заголовка gzip, чтобы определить внутренний формат файла. Файлы Gzip, созданные с параметром--no-name(имя файла не сохраняется в заголовке), пропускаются. -
Вложенное сжатие (например,
.gzвнутри другого.gzили.zipвнутри.zip) не поддерживается. Эти файлы пропускаются. -
Файлы с расширениями
.csv,.txt,.tsv,.psvили.jsonlпроверяются на наличие магических байтов gzip и распаковываются, если они сжаты с помощью gzip, даже если файл не имеет расширения.gz. -
Поле
search_patternиспользует синтаксис регулярных выражений, а не шаблоны glob. Например, используйте\.csv$вместо*.csv. -
Коннектор имеет встроенную логику повторных попыток с экспоненциальной задержкой для ограничений скорости API Google Cloud Storage (GCS) (
429) и временных ошибок сервера (500,502,503,504). Перед сбоем выполняется до пяти попыток. - Файлы без распознанного расширения пропускаются, и выдается предупреждение.