duckdb.create_simple_secret) #Для S3-хранилища можно создать только один простой секрет.
Выполните следующую команду:
SELECT duckdb.create_simple_secret(
type := 'S3',
key_id := 'ключ_доступа',
secret := 'секретный_ключ_доступа',
session_token := 'токен_безопасности_сеанса',
region := 'регион',
url_style := 'формат_URL',
provider := 'поставщик_учётных_данных',
endpoint := 'URL_конечной_точки',
scope := 'ограничение_применения',
validation := '',
use_ssl := 'true_или_false'
);Где:
ключ_доступа и секретный_ключ_доступа: ключ доступа и секретный ключ доступа для подключения к S3-хранилищу.
токен_безопасности_сеанса: временный токен безопасности сеанса, необходимый при использовании временных учётных данных (short-lived credentials, STS).
Значение по умолчанию: '' (пустая строка) означает, что используется постоянный ключ доступа.
Необязательный параметр.
регион: регион, в котором размещается S3-хранилище.
Необязательный параметр.
формат_URL: формат URL, который используется для доступа к бакету внутри S3-хранилища.
Возможные значения:
path: имя бакета включено в путь URL, например storage.example.com/my-bucket.
Необязательный параметр.
поставщик_учётных_данных: указывает, как предоставляются ключ доступа и секретный ключ доступа.
Возможные значения:
'' (пустая строка): использовать предоставленные ключ_доступа и секретный_ключ_доступа.
Необязательный параметр.
URL_конечной_точки: URL конечной точки (endpoint) S3-хранилища.
Необязательный параметр.
ограничение_применения: префикс пути бакета, ограничивающий применение секрета к определённому расположению в S3-хранилище.
Значение по умолчанию: '' (пустая строка) означает, что секрет применяется ко всем путям в S3-хранилище.
Необязательный параметр.
validation: служебный параметр, оставьте его пустым.
true_или_false: указывает, следует ли шифровать взаимодействие между Postgres Pro AXE и S3-хранилищем.
Необязательный параметр.
Postgres Pro AXE выполняет следующие действия:
Создаёт внешний сервер (simple_s3_secret), используя указанные публичные параметры подключения к S3-хранилищу:
CREATE SERVER simple_s3_secret
TYPE 'S3'
FOREIGN DATA WRAPPER duckdb
OPTIONS (
region 'регион',
url_style 'формат_URL',
provider 'поставщик_учётных_данных',
endpoint 'URL_конечной_точки',
scope 'ограничение_применения',
validation '',
use_ssl 'true_или_false'
);Создаёт сопоставление пользователей для роли PUBLIC, используя указанные закрытые параметры подключения к S3-хранилищу:
CREATE USER MAPPING FOR PUBLIC
SERVER simple_s3_secret
OPTIONS (
key_id 'ключ_доступа',
secret 'секретный_ключ_доступа',
session_token 'токен_безопасности_сеанса'
);Выводит имя созданного простого секрета.
Пример 23.1. Вызов функции duckdb.create_simple_secret()
SELECT duckdb.create_simple_secret(
type := 'S3',
key_id := 'AKIAIOSFODNN7EXAMPLE',
secret := 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY',
region := 'us-east-1',
url_style := 'path',
endpoint := 'minio.example.com:9000',
use_ssl := 'false'
);Внутри вызова функции:
CREATE SERVER simple_s3_secret
TYPE 'S3'
FOREIGN DATA WRAPPER duckdb
OPTIONS (region 'us-east-1', endpoint 'minio.example.com:9000', url_style 'path', use_ssl 'false');
CREATE USER MAPPING FOR PUBLIC
SERVER simple_s3_secret
OPTIONS (
key_id 'AKIAIOSFODNN7EXAMPLE',
secret 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'
);