Spec-Zone.ru › AWS CLI v2

[ aws . athena ]

start-query-execution

Описание

Выполняет SQL-запросы, содержащиеся в Query. Требует доступа к рабочей группе, в которой выполнялся запрос. Выполнение запросов к внешнему каталогу требует разрешения GetDataCatalog для каталога. Примеры использования Amazon Web Services SDK для Java см. в разделах Примеры и примеры кода в руководстве пользователя Amazon Athena.

См. также: Документацию API AWS

Синтаксис

  start-query-execution
--query-string <value>
[--client-request-token <value>]
[--query-execution-context <value>]
[--result-configuration <value>]
[--work-group <value>]
[--execution-parameters <value>]
[--result-reuse-configuration <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]

Параметры

--query-string (строка)

SQL-запросы, которые необходимо выполнить.

--client-request-token (строка)

Уникальная регистрозависимая строка, используемая для обеспечения идемпотентности запроса на создание запроса (выполнение только один раз). Если получен другой запрос StartQueryExecution, возвращается тот же ответ, и другой запрос не создается. Возвращается ошибка, если параметр, такой как QueryString, изменился. Вызов StartQueryExecution, использующий предыдущий маркер запроса клиента, возвращает тот же QueryExecutionId, даже если у запросителя нет разрешения на таблицы, указанные в QueryString.

Предупреждение

Этот маркер указан как необязательный, так как Amazon Web Services SDK (например, Amazon Web Services SDK для Java) автоматически генерируют его для пользователей. Если вы не используете Amazon Web Services SDK или Amazon Web Services CLI, вы должны предоставить этот маркер, иначе действие завершится с ошибкой.

--query-execution-context (структура)

База данных, в которой выполняется запрос.

Database -> (строка)

Имя базы данных, используемой при выполнении запроса. База данных должна существовать в каталоге.

Catalog -> (строка)

Имя каталога данных, используемого при выполнении запроса.

Сокращенный синтаксис:

Database=string,Catalog=string

Синтаксис JSON:

{
  "Database": "string",
  "Catalog": "string"
}

--result-configuration (структура)

Указывает информацию о том, где и как сохранить результаты выполнения запроса. Если запрос выполняется в рабочей группе, настройки рабочей группы могут переопределять настройки запроса. Это влияет на расположение результатов запроса. Переопределение настроек рабочей группы задаётся в EnforceWorkGroupConfiguration (true/false) в WorkGroupConfiguration. См. WorkGroupConfiguration$EnforceWorkGroupConfiguration.

OutputLocation -> (строка)

Расположение в Amazon S3, где хранятся результаты вашего запроса и вычислений, например, s3://path/to/query/bucket/. Для выполнения запроса необходимо указать расположение результатов запроса одним из способов: либо для отдельных запросов с помощью этого параметра (клиентская сторона), либо в рабочей группе с помощью WorkGroupConfiguration. Если ни один из них не задан, Athena выдаёт ошибку, что расположение вывода не задано. Если настройки рабочей группы переопределяют настройки клиентской стороны, запрос использует настройки, указанные для рабочей группы. См. WorkGroupConfiguration$EnforceWorkGroupConfiguration.

EncryptionConfiguration -> (структура)

Если результаты запроса и вычислений шифруются в Amazon S3, указывает используемый вариант шифрования (например, SSE_KMS или CSE_KMS) и информацию о ключе. Это настройка клиентской стороны. Если настройки рабочей группы переопределяют настройки клиентской стороны, то запрос использует конфигурацию шифрования, указанную для рабочей группы, а также расположение для хранения результатов запроса, указанное в рабочей группе. См. WorkGroupConfiguration$EnforceWorkGroupConfiguration и Переопределение настроек рабочей группы на стороне клиента.

EncryptionOption -> (строка)

Указывает, используется ли серверное шифрование Amazon S3 с ключами, управляемыми Amazon S3 (SSE_S3), серверное шифрование с ключами, управляемыми KMS (SSE_KMS), или клиентское шифрование с ключами, управляемыми KMS (CSE_KMS).

Если запрос выполняется в рабочей группе, и рабочая группа переопределяет настройки клиентской стороны, то используется настройка шифрования рабочей группы. Она определяет, должны ли результаты запроса шифроваться для всех запросов, выполняемых в этой рабочей группе.

KmsKey -> (строка)

Для SSE_KMS и CSE_KMS это ARN или идентификатор ключа KMS.

ExpectedBucketOwner -> (строка)

Идентификатор учетной записи Amazon Web Services, который вы ожидаете как владельца ведра Amazon S3, указанного в ResultConfiguration$OutputLocation. Если задано, Athena использует значение для ExpectedBucketOwner при выполнении вызовов Amazon S3 в указанное вами расположение вывода. Если идентификатор учетной записи Amazon Web Services ExpectedBucketOwner не совпадает с фактическим владельцем ведра Amazon S3, вызов завершается ошибкой доступа.

Это настройка клиентской стороны. Если настройки рабочей группы переопределяют настройки клиентской стороны, то запрос использует настройку ExpectedBucketOwner, указанную для рабочей группы, а также расположение для хранения результатов запроса, указанное в рабочей группе. См. WorkGroupConfiguration$EnforceWorkGroupConfiguration и Переопределение настроек рабочей группы на стороне клиента.

AclConfiguration -> (структура)

Указывает, что для управления правами на хранение результатов запроса должна быть задана константа ACL Amazon S3. В настоящее время поддерживается только константа ACL BUCKET_OWNER_FULL_CONTROL. Это настройка клиентской стороны. Если настройки рабочей группы переопределяют настройки клиентской стороны, запрос использует конфигурацию ACL, указанную для рабочей группы, а также расположение для хранения результатов запроса, указанное в рабочей группе. Дополнительная информация приведена в WorkGroupConfiguration$EnforceWorkGroupConfiguration и Переопределение настроек рабочей группы на стороне клиента.

S3AclOption -> (строка)

Константа ACL Amazon S3, которую Athena должна указать при хранении результатов запроса, включая файлы данных, вставленные Athena в результате инструкций, таких как CTAS или INSERT INTO. В настоящее время поддерживается только константа ACL BUCKET_OWNER_FULL_CONTROL. Если запрос выполняется в рабочей группе, и рабочая группа переопределяет настройки клиентской стороны, то константа ACL Amazon S3, указанная в настройках рабочей группы, используется для всех запросов, выполняемых в рабочей группе. Дополнительную информацию о константах ACL Amazon S3 см. в разделе Canned ACL в руководстве пользователя Amazon S3.

Сокращенный синтаксис:

OutputLocation=string,EncryptionConfiguration={EncryptionOption=string,KmsKey=string},ExpectedBucketOwner=string,AclConfiguration={S3AclOption=string}

Синтаксис JSON:

{
  "OutputLocation": "string",
  "EncryptionConfiguration": {
    "EncryptionOption": "SSE_S3"|"SSE_KMS"|"CSE_KMS",
    "KmsKey": "string"
  },
  "ExpectedBucketOwner": "string",
  "AclConfiguration": {
    "S3AclOption": "BUCKET_OWNER_FULL_CONTROL"
  }
}

--work-group (строка)

Имя рабочей группы, в которой запускается запрос.

--execution-parameters (список)

Список значений для параметров в запросе. Значения применяются последовательно к параметрам в запросе в порядке их появления.

(строка)

Синтаксис:

"string" "string" ...

--result-reuse-configuration (структура)

Указывает поведение повторного использования результатов запроса для запроса.

ResultReuseByAgeConfiguration -> (структура)

Указывает, будут ли повторно использоваться предыдущие результаты запроса и, в случае положительного ответа, их максимальный срок действия.

Enabled -> (булево)

True, если при запуске запроса могут быть повторно использованы предыдущие результаты запроса; иначе false. По умолчанию false.

MaxAgeInMinutes -> (целое число)

Указывает максимальный срок действия предыдущего результата запроса, который Athena должна учитывать для повторного использования, в минутах. По умолчанию 60.

Сокращенный синтаксис:

ResultReuseByAgeConfiguration={Enabled=boolean,MaxAgeInMinutes=integer}

Синтаксис JSON:

{
  "ResultReuseByAgeConfiguration": {
    "Enabled": true|false,
    "MaxAgeInMinutes": integer
  }
}

--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если на командной строке указаны другие аргументы, эти значения переопределят значения, предоставленные в JSON. Невозможно передавать произвольные двоичные данные с помощью предоставленного JSON-значения, так как строка будет взята дословно. Это не может быть указано вместе с --cli-input-yaml.

--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса к API. Если указано без значения или со значением input, выводит пример входного JSON, который можно использовать в качестве аргумента для --cli-input-json. Аналогично, если указано yaml-input, он выведет пример входного YAML, который можно использовать с --cli-input-yaml. Если указано значение output, он проверит входные данные команды и вернёт пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.

Общие параметры

--debug (boolean)

Включить отладочную запись журнала.

--endpoint-url (string)

Переопределить стандартный URL команды заданным URL.

--no-verify-ssl (boolean)

По умолчанию AWS CLI использует SSL при взаимодействии с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет стандартное поведение проверки SSL-сертификатов.

--no-paginate (boolean)

Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.

--output (string)

Стиль форматирования вывода команды.

  • json
  • text
  • table
  • yaml
  • yaml-stream

--query (string)

Запрос JMESPath для фильтрации данных ответа.

--profile (string)

Использовать определённый профиль из файла учетных данных.

--region (string)

Регион для использования. Переопределяет настройки конфигурации/среды.

--version (string)

Отобразить версию этого инструмента.

--color (string)

Включить/выключить цветной вывод.

  • on
  • off
  • auto

--no-sign-request (boolean)

Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент указан.

--ca-bundle (string)

Файл сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.

--cli-read-timeout (int)

Максимальное время чтения сокета в секундах. Если значение равно 0, чтение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию составляет 60 секунд.

--cli-connect-timeout (int)

Максимальное время подключения сокета в секундах. Если значение равно 0, подключение сокета будет выполняться блокирующим образом без таймаута. Значение по умолчанию составляет 60 секунд.

--cli-binary-format (string)

Стиль форматирования, используемый для двоичных блоков. По умолчанию используется формат base64. Формат base64 предполагает, что двоичные блоки предоставляются в виде закодированной строки base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, которое соответствует двоичному блоку, fileb:// всегда будет обрабатываться как двоичный файл и будет использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для заданного cli-binary-format.

  • base64
  • raw-in-base64-out

--no-cli-pager (boolean)

Отключить пейджер CLI для вывода.

--cli-auto-prompt (boolean)

Автоматически запросить параметры ввода CLI.

--no-cli-auto-prompt (boolean)

Отключить автоматический запрос параметров ввода CLI.

Примеры

Примечание

Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. раздел «Использование кавычек со строками» в руководстве пользователя AWS CLI.

Пример 1: Выполнение запроса в рабочей группе на указанной таблице в указанной базе данных и каталоге данных

В следующем start-query-execution примере используется AthenaAdmin рабочая группа для выполнения запроса к таблице cloudfront_logs в базе данных cflogsdatabase в каталоге данных AwsDataCatalog.

aws athena start-query-execution \
    --query-string "select date, location, browser, uri, status from cloudfront_logs where method = 'GET' and status = 200 and location like 'SFO%' limit 10" \
    --work-group "AthenaAdmin" \
    --query-execution-context Database=cflogsdatabase,Catalog=AwsDataCatalog

Вывод:

{
"QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}

Дополнительную информацию см. в разделе «Выполнение SQL-запросов с помощью Amazon Athena» в руководстве пользователя Amazon Athena.

Пример 2: Выполнение запроса, использующего указанную рабочую группу для создания базы данных в указанном каталоге данных

В следующем start-query-execution примере используется AthenaAdmin рабочая группа для создания базы данных newdb в каталоге данных по умолчанию AwsDataCatalog.

aws athena start-query-execution \
    --query-string "create database if not exists newdb" \
    --work-group "AthenaAdmin"

Вывод:

{
"QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11112"
}

Дополнительную информацию см. в разделе «Выполнение SQL-запросов с помощью Amazon Athena» в руководстве пользователя Amazon Athena.

Пример 3: Выполнение запроса, создающего представление на таблице в указанной базе данных и каталоге данных

В следующем start-query-execution примере используется оператор SELECT для таблицы cloudfront_logs в базе данных cflogsdatabase для создания представления cf10.

aws athena start-query-execution \
    --query-string  "CREATE OR REPLACE VIEW cf10 AS SELECT * FROM cloudfront_logs limit 10" \
    --query-execution-context Database=cflogsdatabase

Вывод:

{
"QueryExecutionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11113"
}

Дополнительную информацию см. в разделе «Выполнение SQL-запросов с помощью Amazon Athena» в руководстве пользователя Amazon Athena.

Вывод

QueryExecutionId -> (string)

Уникальный идентификатор запроса, выполненного в результате этого запроса.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API