transact-get-items
Описание
TransactGetItems — это синхронная операция, которая атомарно извлекает несколько элементов из одной или нескольких таблиц (но не из индексов) в одной учётной записи и регионе. Вызов TransactGetItems может содержать до 100 объектов TransactGetItem, каждый из которых содержит структуру Get, которая определяет элемент для извлечения из таблицы в данной учётной записи и регионе. Вызов TransactGetItems не может извлекать элементы из таблиц в более чем одной учётной записи Amazon Web Services или регионе. Общий размер элементов в транзакции не может превышать 4 МБ.DynamoDB отклоняет весь запрос TransactGetItems, если выполняется хотя бы одно из следующих условий:
- Конфликтная операция в процессе обновления элемента для чтения.
- Недостаточно выделенных ресурсов для завершения транзакции.
- Ошибка пользователя, например, неверный формат данных.
- Общий размер элементов в транзакции превысил 4 МБ.
См. также: Документация API AWS
Синтаксис
transact-get-items
--transact-items <value>
[--return-consumed-capacity <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]
Параметры
--transact-items (список)
Упорядоченный массив из до 100 объектов TransactGetItem, каждый из которых содержит структуру Get.
(структура)
Определяет элемент, который необходимо извлечь в рамках транзакции.
Get -> (структура)
Содержит первичный ключ, который идентифицирует элемент для извлечения, а также имя таблицы, содержащей элемент, и необязательно определённые атрибуты элемента для извлечения.
Key -> (массив)
Массив имён атрибутов и объектов AttributeValue, определяющих первичный ключ элемента для извлечения.
key -> (строка)
value -> (структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — сами данные.
Для получения дополнительной информации см. Типы данных в руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
B -> (бинарный файл)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](бинарный файл)
M -> (массив)
Атрибут типа Массив. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
value -> (структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — сами данные.
Для получения дополнительной информации см. Типы данных в руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
B -> (бинарный файл)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](бинарный файл)
M -> (массив)
Атрибут типа Массив. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
(… рекурсивно …)
L -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](… рекурсивно …)
NULL -> (булево)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (булево)
Атрибут типа Булево. Например:
"BOOL": trueL -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — сами данные.
Для получения дополнительной информации см. Типы данных в руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
B -> (бинарный файл)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа передаются в DynamoDB как строки для максимальной совместимости между языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты числового типа для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](бинарный файл)
M -> (массив)
Атрибут типа Массив. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
(… рекурсивно …)
L -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](… рекурсивно …)
NULL -> (булево)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (булево)
Атрибут типа Булево. Например:
"BOOL": trueNULL -> (булево)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (булево)
Атрибут типа Булево. Например:
"BOOL": trueTableName -> (строка)
ProjectionExpression -> (строка)
ExpressionAttributeNames -> (массив)
Один или несколько маркеров подстановки для имён атрибутов в параметре ProjectionExpression.
key -> (строка)
value -> (строка)
Синтаксис JSON:
[
{
"Get": {
"Key": {"string": {
"S": "string",
"N": "string",
"B": blob,
"SS": ["string", ...],
"NS": ["string", ...],
"BS": [blob, ...],
"M": {"string": {
"S": "string",
"N": "string",
"B": blob,
"SS": ["string", ...],
"NS": ["string", ...],
"BS": [blob, ...],
"M": {"string": { ... recursive ... }
...},
"L": [
{ ... recursive ... }
...
],
"NULL": true|false,
"BOOL": true|false
}
...},
"L": [
{
"S": "string",
"N": "string",
"B": blob,
"SS": ["string", ...],
"NS": ["string", ...],
"BS": [blob, ...],
"M": {"string": { ... recursive ... }
...},
"L": [
{ ... recursive ... }
...
],
"NULL": true|false,
"BOOL": true|false
}
...
],
"NULL": true|false,
"BOOL": true|false
}
...},
"TableName": "string",
"ProjectionExpression": "string",
"ExpressionAttributeNames": {"string": "string"
...}
}
}
...
]
--return-consumed-capacity (строка)
Значение TOTAL вызывает возврат информации о потреблённых ресурсах, а значение NONE предотвращает возврат этой информации. Другие значения недействительны.
Возможные значения:
INDEXESTOTALNONE
--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.
Для атомарного извлечения нескольких элементов из одной или нескольких таблиц
Следующий transact-get-items пример показывает атомарное извлечение нескольких элементов.
aws dynamodb transact-get-items \
--transact-items file://transact-items.json \
--return-consumed-capacity TOTAL
Содержимое transact-items.json:
[
{
"Get": {
"Key": {
"Artist": {"S": "Acme Band"},
"SongTitle": {"S": "Happy Day"}
},
"TableName": "MusicCollection"
}
},
{
"Get": {
"Key": {
"Artist": {"S": "No One You Know"},
"SongTitle": {"S": "Call Me Today"}
},
"TableName": "MusicCollection"
}
}
]
Вывод:
{
"ConsumedCapacity": [
{
"TableName": "MusicCollection",
"CapacityUnits": 4.0,
"ReadCapacityUnits": 4.0
}
],
"Responses": [
{
"Item": {
"AlbumTitle": {
"S": "Songs About Life"
},
"Artist": {
"S": "Acme Band"
},
"SongTitle": {
"S": "Happy Day"
}
}
},
{
"Item": {
"AlbumTitle": {
"S": "Somewhat Famous"
},
"Artist": {
"S": "No One You Know"
},
"SongTitle": {
"S": "Call Me Today"
}
}
}
]
}
Дополнительную информацию см. в разделе Управление сложными рабочими процессами с транзакциями DynamoDB в Руководстве разработчика Amazon DynamoDB.
Вывод
ConsumedCapacity -> (список)
Если значение ReturnConsumedCapacity было TOTAL, это массив объектов ConsumedCapacity, по одному для каждой таблицы, указанной объектами TransactGetItem в параметре TransactItems. Эти объекты ConsumedCapacity сообщают о потреблённых единицах пропускной способности чтения операцией TransactGetItems в этой таблице.
(структура)
Единицы пропускной способности, потреблённые операцией. Возвращаемые данные включают общую потреблённую пропускную способность, а также статистику для таблицы и любых индексов, участвовавших в операции. ConsumedCapacity возвращается только если это было запрошено в запросе. Для получения дополнительной информации см. режим пропускной способности с предоставленным лимитом в Руководстве разработчика Amazon DynamoDB.
TableName -> (строка)
CapacityUnits -> (двойное)
ReadCapacityUnits -> (двойное)
WriteCapacityUnits -> (двойное)
Table -> (структура)
Количество потреблённой пропускной способности в затронутой таблице.
ReadCapacityUnits -> (двойное)
WriteCapacityUnits -> (двойное)
CapacityUnits -> (двойное)
LocalSecondaryIndexes -> (карта)
Количество потреблённой пропускной способности на каждом локальном индексе, затронутом операцией.
key -> (строка)
value -> (структура)
Представляет количество потреблённой пропускной способности с предоставленным лимитом в таблице или индексе.
ReadCapacityUnits -> (двойное)
WriteCapacityUnits -> (двойное)
CapacityUnits -> (двойное)
GlobalSecondaryIndexes -> (карта)
Количество потреблённой пропускной способности на каждом глобальном индексе, затронутом операцией.
key -> (строка)
value -> (структура)
Представляет количество потреблённой пропускной способности с предоставленным лимитом в таблице или индексе.
ReadCapacityUnits -> (двойное)
WriteCapacityUnits -> (двойное)
CapacityUnits -> (двойное)
Responses -> (список)
Упорядоченный массив из до 100 объектов ItemResponse, каждый из которых соответствует объекту TransactGetItem в той же позиции в массиве TransactItems. Каждый объект ItemResponse содержит карту пар имя-значение, представляющих спроецированные атрибуты запрошенного элемента.
Если запрошенный элемент не может быть получен, соответствующий объект ItemResponse является Null, или если у запрошенного элемента нет спроецированных атрибутов, соответствующий объект ItemResponse является пустой картой.
(структура)
Подробности о запрошенном элементе.
Item -> (карта)
Карта атрибутов данных, состоящая из типа данных и значения атрибута.
key -> (строка)
value -> (структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — данные сами по себе.
Для получения дополнительной информации см. Типы данных в Руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
B -> (байтовый массив)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](байтовый массив)
M -> (карта)
Атрибут типа Карта. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
value -> (структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — данные сами по себе.
Для получения дополнительной информации см. Типы данных в Руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
B -> (байтовый массив)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](байтовый массив)
M -> (карта)
Атрибут типа Карта. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
(… рекурсивно …)
L -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](… рекурсивно …)
NULL -> (логическое)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (логическое)
Атрибут типа Булево. Например:
"BOOL": trueL -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](структура)
Представляет данные для атрибута.
Каждое значение атрибута описывается как пара имя-значение. Имя — тип данных, а значение — данные сами по себе.
Для получения дополнительной информации см. Типы данных в Руководстве разработчика Amazon DynamoDB.
S -> (строка)
Атрибут типа Строка. Например:
"S": "Hello"N -> (строка)
Атрибут типа Число. Например:
"N": "123.45"Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
B -> (байтовый массив)
Атрибут типа Двоичные данные. Например:
"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"SS -> (список)
Атрибут типа Множество строк. Например:
"SS": ["Giraffe", "Hippo" ,"Zebra"](строка)
NS -> (список)
Атрибут типа Множество чисел. Например:
"NS": ["42.2", "-19", "7.5", "3.14"]Числа отправляются в DynamoDB по сети в виде строк для максимальной совместимости с разными языками и библиотеками. Однако DynamoDB обрабатывает их как числовые атрибуты для математических операций.
(строка)
BS -> (список)
Атрибут типа Множество двоичных данных. Например:
"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="](байтовый массив)
M -> (карта)
Атрибут типа Карта. Например:
"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}key -> (строка)
(… рекурсивно …)
L -> (список)
Атрибут типа Список. Например:
"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}](… рекурсивно …)
NULL -> (логическое)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (логическое)
Атрибут типа Булево. Например:
"BOOL": trueNULL -> (логическое)
Атрибут типа Null. Например:
"NULL": trueBOOL -> (логическое)
Атрибут типа Булево. Например:
"BOOL": true
© Copyright 2025, Amazon Web Services. Created using Sphinx.