execute-statement
Описание
Выполняет SQL-запрос к базе данных.
Примечание
Если вызов не является частью транзакции, потому что не включает параметр transactionID, изменения, полученные в результате вызова, автоматически подтверждаются.
Если двоичные данные ответа из базы данных превышают 1 МБ, вызов прерывается.
См. также: Документация API AWS
Синтаксис
execute-statement
--resource-arn <value>
--secret-arn <value>
--sql <value>
[--database <value>]
[--schema <value>]
[--parameters <value>]
[--transaction-id <value>]
[--include-result-metadata | --no-include-result-metadata]
[--continue-after-timeout | --no-continue-after-timeout]
[--result-set-options <value>]
[--format-records-as <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]
Параметры
--resource-arn (строка)
--secret-arn (строка)
ARN секрета, предоставляющего доступ к кластеру базы данных. Введите имя пользователя и пароль базы данных для учетных данных в секрете.
Дополнительная информация о создании секрета см. в разделе Создание секрета базы данных.
--sql (строка)
--database (строка)
--schema (строка)
Имя схемы базы данных.
Примечание
В настоящее время параметрschema не поддерживается.--parameters (список)
Параметры для SQL-запроса.
Примечание
Массивы параметров не поддерживаются.(структура)
Параметр, используемый в SQL-запросе.
name -> (строка)
value -> (структура помеченного объединения)
Значение параметра.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть задан:isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.isNull -> (булево)
booleanValue -> (булево)
longValue -> (длинное целое)
doubleValue -> (двойное)
stringValue -> (строка)
blobValue -> (blob)
arrayValue -> (структура помеченного объединения)
Массив значений.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть задан:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(булево)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей точкой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(структура помеченного объединения)
Содержит массив.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть задан:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(булево)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей точкой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(… рекурсивно …)
typeHint -> (строка)
Подсказка, указывающая правильный тип объекта для сопоставления типов данных. Возможные значения:
-
DATE- соответствующее значение параметраStringотправляется в базу данных как объект типаDATE. Принимаемый формат -YYYY-MM-DD. -
DECIMAL- соответствующее значение параметраStringотправляется в базу данных как объект типаDECIMAL. -
JSON- соответствующее значение параметраStringотправляется в базу данных как объект типаJSON. -
TIME- соответствующее значение параметраStringотправляется в базу данных как объект типаTIME. Принимаемый формат -HH:MM:SS[.FFF]. -
TIMESTAMP- соответствующее значение параметраStringотправляется в базу данных как объект типаTIMESTAMP. Принимаемый формат -YYYY-MM-DD HH:MM:SS[.FFF]. -
UUID- соответствующее значение параметраStringотправляется в базу данных как объект типаUUID.
Синтаксис JSON:
[
{
"name": "string",
"value": {
"isNull": true|false,
"booleanValue": true|false,
"longValue": long,
"doubleValue": double,
"stringValue": "string",
"blobValue": blob,
"arrayValue": {
"booleanValues": [true|false, ...],
"longValues": [long, ...],
"doubleValues": [double, ...],
"stringValues": ["string", ...],
"arrayValues": [
{
"booleanValues": [true|false, ...],
"longValues": [long, ...],
"doubleValues": [double, ...],
"stringValues": ["string", ...],
"arrayValues": [
{ ... recursive ... }
...
]
}
...
]
}
},
"typeHint": "JSON"|"UUID"|"TIMESTAMP"|"DATE"|"TIME"|"DECIMAL"
}
...
]
--transaction-id (строка)
Идентификатор транзакции, начатой с помощью операции BeginTransaction. Укажите идентификатор транзакции, в которую вы хотите включить SQL-запрос.
Если SQL-запрос не является частью транзакции, не задавайте этот параметр.
--include-result-metadata | --no-include-result-metadata (булево)
--continue-after-timeout | --no-continue-after-timeout (булево)
Значение, указывающее, следует ли продолжить выполнение запроса после истечения времени ожидания вызова. По умолчанию запрос останавливается при истечении времени ожидания вызова.
Примечание
Для DDL-запросов рекомендуется продолжать выполнение запроса после истечения времени ожидания вызова. Если DDL-запрос завершается до завершения выполнения, это может привести к ошибкам и, возможно, к повреждению структур данных.--result-set-options (структура)
Параметры, которые управляют тем, как возвращается результат набора.
decimalReturnType -> (строка)
Значение, указывающее, как поле типа DECIMAL представляется в ответе. Значение STRING, по умолчанию, указывает, что оно преобразуется в строку. Значение DOUBLE_OR_LONG указывает, что оно преобразуется в целое число long, если его масштаб равен 0, или в double в противном случае.
Примечание
Преобразование в double или long может привести к ошибкам округления из-за потери точности. Рекомендуется преобразовывать в строку, особенно при работе со значениями валют.longReturnType -> (строка)
LONG. Разрешенные значения - LONG и STRING. По умолчанию - LONG. Укажите STRING, если длина или точность числовых значений могут привести к усечению или ошибкам округления.Краткая форма синтаксиса:
decimalReturnType=string,longReturnType=string
Синтаксис JSON:
{
"decimalReturnType": "STRING"|"DOUBLE_OR_LONG",
"longReturnType": "STRING"|"LONG"
}
--format-records-as (строка)
Значение, указывающее, нужно ли форматировать результат набора как одну строку JSON. Этот параметр применим только к SELECT запросам и игнорируется для других типов запросов. Допустимые значения - NONE и JSON. Значение по умолчанию - NONE. Результат возвращается в поле formattedRecords.
Дополнительную информацию об использовании формата JSON для наборов результатов см. в руководстве Amazon Aurora User Guide в разделе «Использование API данных».
Возможные значения:
NONEJSON
--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-auto-prompt (boolean)
Автоматически запросить параметры ввода CLI.
--no-cli-auto-prompt (boolean)
Отключить автоматическое запроса параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров вам необходимо иметь установленный и настроенный AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. Дополнительную информацию см. в разделе Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Выполнение SQL-запроса, являющегося частью транзакции
Следующий execute-statement пример выполняет SQL-запрос, являющийся частью транзакции.
aws rds-data execute-statement \
--resource-arn "arn:aws:rds:us-west-2:123456789012:cluster:mydbcluster" \
--database "mydb" \
--secret-arn "arn:aws:secretsmanager:us-west-2:123456789012:secret:mysecret" \
--sql "update mytable set quantity=5 where id=201" \
--transaction-id "ABC1234567890xyz"
Вывод:
{
"numberOfRecordsUpdated": 1
}
Пример 2: Выполнение SQL-запроса с параметрами
Следующий execute-statement пример выполняет SQL-запрос с параметрами.
aws rds-data execute-statement \
--resource-arn "arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster" \
--database "mydb" \
--secret-arn "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret" \
--sql "insert into mytable values (:id, :val)" \
--parameters "[{\"name\": \"id\", \"value\": {\"longValue\": 1}},{\"name\": \"val\", \"value\": {\"stringValue\": \"value1\"}}]"
Вывод:
{
"numberOfRecordsUpdated": 1
}
Дополнительную информацию см. в разделе Использование API данных для Aurora Serverless в Руководстве пользователя Amazon RDS.
Вывод
records -> (список)
Записи, возвращённые SQL-запросом. Это поле пустое, если параметр formatRecordsAs установлен в значение JSON .
(список)
(структура помеченного объединения)
Содержит значение.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.isNull -> (логическое)
booleanValue -> (логическое)
longValue -> (длинное целое)
doubleValue -> (двойное)
stringValue -> (строка)
blobValue -> (blob)
arrayValue -> (структура помеченного объединения)
Массив значений.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(логическое)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей запятой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(структура помеченного объединения)
Содержит массив.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(логическое)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей запятой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(… рекурсивно …)
columnMetadata -> (список)
Метаданные для столбцов, включённых в результаты. Это поле пустое, если параметр formatRecordsAs установлен в значение JSON .
(структура)
Содержит метаданные для столбца.
name -> (строка)
type -> (целое число)
typeName -> (строка)
label -> (строка)
schemaName -> (строка)
tableName -> (строка)
isAutoIncrement -> (логическое)
isSigned -> (логическое)
isCurrency -> (логическое)
isCaseSensitive -> (логическое)
nullable -> (целое число)
precision -> (целое число)
scale -> (целое число)
arrayBaseColumnType -> (целое число)
numberOfRecordsUpdated -> (длинное целое)
generatedFields -> (список)
Значения для полей, сгенерированных во время запроса DML.
Примечание
ДанныеgeneratedFields не поддерживаются Aurora PostgreSQL. Чтобы получить значения сгенерированных полей, используйте предложение RETURNING. Дополнительную информацию см. в документации PostgreSQL по возврату данных из изменённых строк.(структура помеченного объединения)
Содержит значение.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.isNull -> (логическое)
booleanValue -> (логическое)
longValue -> (длинное целое)
doubleValue -> (двойное)
stringValue -> (строка)
blobValue -> (blob)
arrayValue -> (структура помеченного объединения)
Массив значений.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(логическое)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей запятой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(структура помеченного объединения)
Содержит массив.
Примечание
Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен:booleanValues, longValues, doubleValues, stringValues, arrayValues.booleanValues -> (список)
Массив значений Boolean.
(логическое)
longValues -> (список)
Массив целых чисел.
(длинное целое)
doubleValues -> (список)
Массив чисел с плавающей запятой.
(двойное)
stringValues -> (список)
Массив строк.
(строка)
arrayValues -> (список)
Массив массивов.
(… рекурсивно …)
formattedRecords -> (строка)
Строковое значение, представляющее результат набора SELECT запроса в формате JSON. Это значение присутствует только при установке параметра formatRecordsAs в значение JSON .
Предельная длина этого поля в настоящее время составляет 10 МБ. Если строка JSON, представляющая результирующий набор, требует более 10 МБ, вызов возвращает ошибку.
© Copyright 2025, Amazon Web Services. Created using Sphinx.