Создание внешнего источника данных S3
В Managed Service for Greenplum® в качестве внешнего источника данных с типом подключения S3 можно использовать сервис Yandex Object Storage или другие сторонние сервисы S3.
Перед началом работы создайте статический ключ доступа. Его данные нужно будет указать в параметрах источника.
Создайте внешний источник данных
Чтобы создать внешний источник данных S3:
- Перейдите на страницу каталога
и выберите сервис Managed Service for Greenplum. - Откройте страницу нужного кластера Managed Service for Greenplum®.
- На панели слева выберите
PXF. - Нажмите кнопку Создать источник данных.
- Выберите тип подключения
S3
. - Укажите имя источника.
- Задайте хотя бы одну опциональную настройку.
- Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать внешний источник данных S3:
-
Посмотрите описание команды CLI для создания источника данных:
yc managed-greenplum pxf-datasource create s3 --help
-
Задайте настройки источника данных:
yc managed-greenplum pxf-datasource create s3 <имя_внешнего_источника_данных> \ --cluster-id=<идентификатор_кластера> \ --access-key=<идентификатор_статического_ключа> \ --secret-key=<секретная_часть_статического_ключа> \ --endpoint=<адрес_S3-хранилища> \ --fast-upload=<быстрая_загрузка>
Где:
cluster-id
— идентификатор кластера. Его можно получить со списком кластеров в каталоге.access-key
,secret-key
— идентификатор и содержимое статического ключа доступа.endpoint
— адрес S3-хранилища. Значение для Object Storage —storage.yandexcloud.net
. Это значение используется по умолчанию.fast-upload
— быстрая загрузка больших файлов в S3-хранилище. Возможные значения:true
(значение по умолчанию) — PXF формирует файлы на диске перед отправкой в S3-хранилище.false
— PXF формирует файлы в оперативной памяти (если ее не хватает, то записывает на диск).
Чтобы добавить источник данных S3 в кластер Managed Service for Greenplum®, воспользуйтесь методом REST API create для ресурса PXFDatasource или вызовом gRPC API PXFDatasourceService/Create и передайте в запросе:
- Идентификатор кластера в параметре
clusterId
. Чтобы узнать идентификатор, получите список кластеров в каталоге. - Имя источника в параметре
name
. - Настройки внешнего источника в параметре
s3
.
Пример запроса REST API
В примере ниже рассматривается, как создать внешний источник данных для бакета Object Storage с помощью REST API Managed Service for Greenplum®. Чтобы создать источник:
-
Получите IAM-токен. Он используется для аутентификации в API.
-
Добавьте IAM-токен в переменную окружения:
export IAM_TOKEN=<токен>
-
Создайте статический ключ доступа.
-
Отправьте запрос с помощью утилиты cURL
:curl --location "https://mdb.api.cloud.yandex.net/managed-greenplum/v1/clusters/<идентификатор_кластера>/pxf_datasources" \ --header "Content-Type: text/plain" \ --header "Authorization: Bearer ${IAM_TOKEN}" \ --data "{ \"datasource\": { \"name\": \"s3:csv\", \"s3\": { \"accessKey\": \"<идентификатор_ключа>\", \"secretKey\": \"<секретный_ключ>\", \"endpoint\": \"storage.yandexcloud.net\" } } }"
В теле запроса передаются параметры:
name
— имя источника, напримерs3:csv
.accessKey
— идентификатор статического ключа доступа.secretKey
— секретный ключ. Является частью статического ключа.endpoint
— адрес Object Storage.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками VMware, Inc в США и/или других странах.