/datamarts[/{datamart}]/ddl
Содержание раздела
POST-метод выполняет DDL-запрос, заданный в теле сообщения. Поддерживается выполнение только простого запроса; параметризация запроса недоступна.
Запрос можно выполнить в выбранной логической базе данных. Чтобы выбрать логическую БД, укажите ее имя в URL.
URL
{baseUrl}/api/v1/datamarts[/{datamart}]/ddl
Параметры:
baseUrl
— адрес ноды Prostore, состоящий из IP-адреса или доменного имени и номера порта;datamart
(опциональный) — имя логической базы данных, используемой по умолчанию.
Заголовки запроса
Заголовок x-request-id
Опциональный заголовок задает уникальный идентификатор HTTP-запроса. Если не указан, система генерирует UUID-значение и возвращает его в качестве идентификатора в ответе.
Заголовок Authorization
Опциональный заголовок задает тип аутентификации и авторизационный токен (JWT). Возможное значение заголовка — Bearer
.
Подробнее об аутентификации запросов см. в разделе Аутентификация.
Тело запроса
Тело запроса может содержать параметры, описанные ниже. В квадратных скобках [ parameter ]
отмечены опциональные параметры.
query
-
DDL-запрос из числа следующих:
- ALLOW_CHANGES,
- ALTER TABLE ADD COLUMN,
- ALTER TABLE ADD DATASOURCE,
- ALTER TABLE ADD RETENTION,
- ALTER TABLE DROP COLUMN,
- ALTER TABLE DROP RETENTION,
- ALTER TABLE RENAME,
- ALTER TABLE RENAME COLUMN,
- ALTER VIEW,
- CREATE DATABASE,
- CREATE INDEX,
- CREATE MATERIALIZED VIEW,
- CREATE PROXY TABLE,
- CREATE SEQUENCE,
- CREATE TABLE,
- CREATE VIEW,
- DENY_CHANGES,
- DISABLE_STATISTICS_ROWS_COUNT,
- DROP DATABASE,
- DROP INDEX,
- DROP MATERIALIZED VIEW,
- DROP SEQUENCE,
- DROP TABLE,
- DROP VIEW,
- ENABLE_STATISTICS_ROWS_COUNT,
- ERASE_CHANGE_OPERATION.
Значения в запросе можно указать только как константы; параметризация запрос не поддерживается.
[ queryId ]
-
Идентификатор запроса, по которому можно отследить обработку запроса с помощью логов.
Примеры запросов
В этой секции приведены примеры как с авторизационным токеном, так и без него. Примеры без токена предназначены для случаев, когда аутентификация отключена, с токеном — для случаев, когда аутентификация включена.
Запросы в выбранной логической БД
Запрос без авторизационного токена:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/marketing/ddl' \
-H 'x-request-id: 2fe5e5f0-d5ed-4240-a832-fd4d08fb0458' \
-H 'Content-Type: application/json' \
-d '{
"query": "CREATE TABLE IF NOT EXISTS sales (id BIGINT NOT NULL, transaction_date TIMESTAMP NOT NULL, product_code VARCHAR(256) NOT NULL, product_units BIGINT NOT NULL, store_id BIGINT NOT NULL, description VARCHAR(256), PRIMARY KEY (id)) DISTRIBUTED BY (id)",
"queryId": "26576294"
}'
Запрос с авторизационным токеном:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/marketing/ddl' \
-H 'x-request-id: 32ba2edb-d32c-4821-a09f-f5a16357c1e1' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
-d '{
"query": "CREATE TABLE IF NOT EXISTS clients (id BIGINT NOT NULL, first_name VARCHAR(256) NOT NULL, last_name VARCHAR(256) NOT NULL, patronymic_name VARCHAR(256), birth_date DATE, PRIMARY KEY (id)) DISTRIBUTED BY (id) DATASOURCE_TYPE ('\''adp'\'','\''adqm'\'')",
"queryId": "8374826"
}'
Запросы без выбранной логической БД
Запрос без авторизационного токена:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/ddl' \
-H 'x-request-id: 59d1e9a3-766a-4df1-9d7d-4a90fe001c0f' \
-H 'Content-Type: application/json' \
-d '{
"query": "CREATE TABLE IF NOT EXISTS marketing.sales (id BIGINT NOT NULL, transaction_date TIMESTAMP NOT NULL, product_code VARCHAR(256) NOT NULL, product_units BIGINT NOT NULL, store_id BIGINT NOT NULL, description VARCHAR(256), PRIMARY KEY (id)) DISTRIBUTED BY (id)",
"queryId": "27636449"
}'
Запрос с авторизационным токеном:
curl -X 'POST' \
'http://localhost:9090/api/v1/datamarts/query?format=json' \
-H 'x-request-id: 54c4a2c3-a959-40a5-bb1c-065640c5651c' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c' \
-d '{
"query": "CREATE TABLE IF NOT EXISTS marketing.clients (id BIGINT NOT NULL, first_name VARCHAR(256) NOT NULL, last_name VARCHAR(256) NOT NULL, patronymic_name VARCHAR(256), birth_date DATE, PRIMARY KEY (id)) DISTRIBUTED BY (id) DATASOURCE_TYPE ('\''adp'\'','\''adqm'\'')",
"queryId": "7236831"
}'