batch-execute-statement
Описание
Выполняет пакетное SQL-утверждение над массивом данных.
Вы можете запускать массовые операции обновления и вставки для нескольких записей, используя оператор DML с различными наборами параметров. Массовые операции могут значительно улучшить производительность по сравнению с отдельными операциями вставки и обновления.
Примечание
Если вызов не является частью транзакции, потому что он не включает параметр transactionID, изменения, которые происходят в результате вызова, автоматически фиксируются.
Нет фиксированного верхнего предела для количества наборов параметров. Однако максимальный размер HTTP-запроса, отправляемого через API данных, составляет 4 МБ. Если запрос превышает этот предел, API данных возвращает ошибку и не обрабатывает запрос. Этот предел в 4 МБ включает размер HTTP-заголовков и JSON-нотации в запросе. Таким образом, количество наборов параметров, которое вы можете включить, зависит от сочетания факторов, таких как размер SQL-утверждения и размер каждого набора параметров.
Предел размера ответа составляет 1 МБ. Если вызов возвращает более 1 МБ данных ответа, вызов завершается.
См. также: Документацию API AWS
Синтаксис
batch-execute-statement
--resource-arn <value>
--secret-arn <value>
--sql <value>
[--database <value>]
[--schema <value>]
[--parameter-sets <value>]
[--transaction-id <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 секрета, который предоставляет доступ к кластеру баз данных. Введите имя пользователя и пароль базы данных для учетных данных в секрете.
Дополнительную информацию о создании секрета см. в статье Create a database secret .
--sql (строка)
--database (строка)
--schema (строка)
Имя схемы базы данных.
Примечание
В настоящее время параметрschema не поддерживается.--parameter-sets (список)
Набор параметров для пакетной операции.
SQL-утверждение выполняется столько раз, сколько наборов параметров предоставлено. Для выполнения SQL-утверждения без параметров используйте один из следующих вариантов:
- Укажите один или несколько пустых наборов параметров.
- Используйте операцию
ExecuteStatementвместо операцииBatchExecuteStatement.
Примечание
Массивы параметров не поддерживаются.(список)
(структура)
Параметр, используемый в SQL-утверждении.
name -> (строка)
value -> (меченый объединенный структура)
Значение параметра.
Примечание
Это структура с метками. Может быть установлено только одно из следующих верхнеуровневых ключей:isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.isNull -> (булево)
booleanValue -> (булево)
longValue -> (длинное целое)
doubleValue -> (двойное)
stringValue -> (строка)
blobValue -> (двоичные данные)
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-утверждение не является частью транзакции, не устанавливайте этот параметр.
--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 (булево)
Включает отладку логирования.
--endpoint-url (строка)
Переопределяет URL по умолчанию команды заданным URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять SSL-сертификаты. Этот параметр переопределяет поведение проверки SSL-сертификатов по умолчанию.
--no-paginate (булево)
Отключает автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI выполнит только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команд.
- json
- text
- table
- yaml
- yaml-stream
--query (строка)
Запрос JMESPath для фильтрации данных ответа.
--profile (строка)
Используйте определенный профиль из файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отображает версию этого инструмента.
--color (строка)
Включает/отключает цветной вывод.
- on
- off
- auto
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
CA-пакет сертификатов для использования при проверке SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию - 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет блокирующим и не будет иметь таймаута. Значение по умолчанию - 60 секунд.
--cli-binary-format (строка)
Стиль форматирования для использования с двоичными BLOB-данными. Формат по умолчанию - base64. Формат base64 ожидает, что двоичные BLOB-данные будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны быть переданы буквально. При предоставлении содержимого из файла, которое соответствует двоичному BLOB, fileb:// всегда будет обрабатываться как двоичное и использовать содержимое файла напрямую независимо от настройки cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить пагинатор командной строки для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическую запрос параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, во всех примерах используются правила цитирования, аналогичные Unix. Эти примеры необходимо адаптировать к правилам цитирования вашей оболочки. См. раздел Использование кавычек со строками в Руководстве пользователя AWS CLI.
Для выполнения пакетного SQL-запроса
Следующий batch-execute-statement пример выполняет пакетный SQL-запрос над массивом данных с набором параметров.
aws rds-data batch-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 "insert into mytable values (:id, :val)" \
--parameter-sets "[[{\"name\": \"id\", \"value\": {\"longValue\": 1}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueOne\"}}],
[{\"name\": \"id\", \"value\": {\"longValue\": 2}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueTwo\"}}],
[{\"name\": \"id\", \"value\": {\"longValue\": 3}},{\"name\": \"val\", \"value\": {\"stringValue\": \"ValueThree\"}}]]"
Эта команда не выводит ничего на экран.
Дополнительную информацию см. в разделе Использование API данных для Aurora Serverless в Руководстве пользователя Amazon RDS.
Вывод
updateResults -> (список)
Результаты выполнения каждой записи пакета.
(структура)
Элементы ответа представляют результаты обновления.
generatedFields -> (список)
Значения полей, сгенерированных во время запроса.
(структура помеченного объединения)
Содержит значение.
Примечание
Это структура помеченного объединения. Только один из следующих верхнеуровневых ключей может быть задан: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 -> (список)
Массив массивов.
(… рекурсивно …)
© Copyright 2025, Amazon Web Services. Created using Sphinx.