Spec-Zone.ru › AWS CLI v2

[ aws . rds-data ]

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 (строка)

Amazon Resource Name (ARN) кластера баз данных Aurora Serverless.

--secret-arn (строка)

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

Дополнительная информация о создании секрета см. в разделе Создание секрета базы данных.

--sql (строка)

SQL-запрос для выполнения.

--database (строка)

Имя базы данных.

--schema (строка)

Имя схемы базы данных.

Примечание

В настоящее время параметр schema не поддерживается.

--parameters (список)

Параметры для SQL-запроса.

Примечание

Массивы параметров не поддерживаются.

(структура)

Параметр, используемый в SQL-запросе.

name -> (строка)

Имя параметра.

value -> (структура помеченного объединения)

Значение параметра.

Примечание

Это структура помеченного объединения. Только один из следующих верхних ключей может быть задан: isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.

isNull -> (булево)

Значение NULL.

booleanValue -> (булево)

Значение типа данных Boolean.

longValue -> (длинное целое)

Значение типа данных long.

doubleValue -> (двойное)

Значение типа данных double.

stringValue -> (строка)

Значение типа данных string.

blobValue -> (blob)

Значение типа данных 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 данных».

Возможные значения:

  • NONE
  • JSON

--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 -> (логическое)

Значение NULL.

booleanValue -> (логическое)

Значение типа данных Boolean.

longValue -> (длинное целое)

Значение типа данных long.

doubleValue -> (двойное)

Значение типа данных double.

stringValue -> (строка)

Значение типа данных string.

blobValue -> (blob)

Значение типа данных 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 -> (целое число)

Значение, указывающее, является ли столбец допустимым для NULL.

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

Значение точности столбца с десятичными числами.

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

Значение масштаба столбца с десятичными числами.

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

Тип столбца.

numberOfRecordsUpdated -> (длинное целое)

Количество записей, обновлённых запросом.

generatedFields -> (список)

Значения для полей, сгенерированных во время запроса DML.

Примечание

Данные generatedFields не поддерживаются Aurora PostgreSQL. Чтобы получить значения сгенерированных полей, используйте предложение RETURNING. Дополнительную информацию см. в документации PostgreSQL по возврату данных из изменённых строк.

(структура помеченного объединения)

Содержит значение.

Примечание

Это структура помеченного объединения. Только один из следующих верхних ключей может быть установлен: isNull, booleanValue, longValue, doubleValue, stringValue, blobValue, arrayValue.

isNull -> (логическое)

Значение NULL.

booleanValue -> (логическое)

Значение типа данных Boolean.

longValue -> (длинное целое)

Значение типа данных long.

doubleValue -> (двойное)

Значение типа данных double.

stringValue -> (строка)

Значение типа данных string.

blobValue -> (blob)

Значение типа данных 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.

END_OF_DOCUMENT_MARKER

Spec-Zone.ru

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