Spec-Zone.ru › AWS CLI v2

[ aws . dynamodb ]

put-item

Описание

Создаёт новый элемент или заменяет старый элементом. Если элемент с тем же первичным ключом, что и новый элемент, уже существует в указанной таблице, новый элемент полностью заменяет существующий. Можно выполнить условную операцию добавления (добавить новый элемент, если элемент с указанным первичным ключом не существует), или заменить существующий элемент, если у него есть определённые значения атрибутов. Можно вернуть значения атрибутов элемента в той же операции, используя параметр ReturnValues.

При добавлении элемента атрибуты первичного ключа являются единственными необходимыми атрибутами.

Разрешены значения атрибутов типа пустая строка и двоичные данные. Значения атрибутов типа Строка и Двоичные данные должны иметь длину больше нуля, если атрибут используется в качестве атрибута ключа таблицы или индекса. Атрибуты типа Набор не могут быть пустыми.

Неверные запросы с пустыми значениями будут отклонены с исключением ValidationException.

Примечание

Для предотвращения замены нового элемента существующим элементом используйте условное выражение, которое содержит функцию attribute_not_exists с именем атрибута, используемого в качестве разделительного ключа для таблицы. Поскольку каждый элемент должен содержать этот атрибут, функция attribute_not_exists будет успешной только в том случае, если соответствующий элемент не существует.

Дополнительную информацию о PutItem см. в руководстве разработчика Amazon DynamoDB, раздел «Работа с элементами».

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

Синтаксис

  put-item
--table-name <value>
--item <value>
[--expected <value>]
[--return-values <value>]
[--return-consumed-capacity <value>]
[--return-item-collection-metrics <value>]
[--conditional-operator <value>]
[--condition-expression <value>]
[--expression-attribute-names <value>]
[--expression-attribute-values <value>]
[--return-values-on-condition-check-failure <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]

Параметры

--table-name (строка)

Имя таблицы, содержащей элемент. Вы также можете указать Amazon Resource Name (ARN) таблицы в этом параметре.

--item (словарь)

Словарь пар имя/значение атрибутов, по одному для каждого атрибута. Только атрибуты первичного ключа являются обязательными; вы можете необязательно предоставить другие пары имя-значение атрибутов для элемента.

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

Если вы укажете атрибуты, которые являются частью ключа индекса, то типы данных этих атрибутов должны совпадать с типами данных схемы в определении атрибутов таблицы.

Разрешены значения атрибутов типа пустая строка и двоичные данные. Значения атрибутов типа Строка и Двоичные данные должны иметь длину больше нуля, если атрибут используется в качестве атрибута ключа таблицы или индекса.

Дополнительную информацию о первичных ключах см. в руководстве разработчика Amazon DynamoDB, раздел «Первичный ключ».

Каждый элемент в словаре Item является объектом AttributeValue.

ключ -> (строка)

значение -> (структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара имя-значение. Имя — это тип данных, а значение — это само значение.

Дополнительную информацию см. в руководстве разработчика 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"}}

ключ -> (строка)

значение -> (структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара имя-значение. Имя — это тип данных, а значение — это само значение.

Дополнительную информацию см. в руководстве разработчика 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"}}

ключ -> (строка)

( … рекурсивно … )

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

( … рекурсивно … )

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

Атрибут типа NULL. Например:

"NULL": true

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

Атрибут типа Булево. Например:

"BOOL": true

L -> (список)

Атрибут типа Список. Например:

"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"}}

ключ -> (строка)

( … рекурсивно … )

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

( … рекурсивно … )

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

Атрибут типа NULL. Например:

"NULL": true

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

Атрибут типа Булево. Например:

"BOOL": true

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

Атрибут типа NULL. Например:

"NULL": true

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

Атрибут типа Булево. Например:

"BOOL": true

Синтаксис JSON:

{"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
    }
  ...}

--expected (словарь)

Это устаревший параметр. Используйте ConditionExpression вместо него. Дополнительную информацию см. в разделе «Ожидаемое» в Руководстве разработчика Amazon DynamoDB.

key -> (строка)

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

Представляет условие для сравнения со значением атрибута. Это условие может использоваться с операциями DeleteItem, PutItem или UpdateItem; если сравнение оценивается как истинное, операция завершается успешно; в противном случае — с ошибкой. Вы можете использовать ExpectedAttributeValue двумя способами:

  • Используйте AttributeValueList, чтобы указать одно или несколько значений для сравнения с атрибутом. Используйте ComparisonOperator, чтобы указать, как выполнить сравнение. Если сравнение оценивается как истинное, условная операция завершается успешно.
  • Используйте Value, чтобы указать значение, с которым DynamoDB сравнит атрибут. Если значения совпадают, то ExpectedAttributeValue оценивается как истинное, и условная операция завершается успешно. Дополнительно вы можете установить Exists в значение false, что указывает, что вы не ожидаете найти значение атрибута в таблице. В этом случае условная операция завершается успешно только если сравнение оценивается как ложное.
Value и Exists несовместимы с AttributeValueList и ComparisonOperator. Обратите внимание, что если вы используете оба набора параметров одновременно, DynamoDB вернёт исключение ValidationException.

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": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

L -> (список)

Атрибут типа Список. Например:

"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": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

NULL -> (булево)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

Exists -> (булево)

Заставляет DynamoDB оценить значение перед выполнением условной операции:

  • Если Exists имеет значение true, DynamoDB проверит, существует ли это значение атрибута в таблице. Если найдено, операция завершается успешно. Если нет, операция завершается ошибкой ConditionCheckFailedException.
  • Если Exists имеет значение false, DynamoDB предполагает, что значение атрибута не существует в таблице. Если в действительности значение не существует, предположение верно, и операция завершается успешно. Если значение найдено, несмотря на предположение о его отсутствии, операция завершается ошибкой ConditionCheckFailedException.

Значение по умолчанию для Exists — true. Если вы передаёте Value, DynamoDB предполагает, что атрибут существует: вам не нужно устанавливать Exists в true, так как это подразумевается.

DynamoDB возвращает ошибку ValidationException, если:

  • Exists имеет значение true, но нет Value для проверки. (Вы ожидаете, что значение существует, но не указываете, какое оно.)
  • Exists имеет значение false, но вы также предоставляете Value. (Вы не можете ожидать, что атрибут имеет значение, и одновременно ожидать, что он не существует.)

ComparisonOperator -> (строка)

Компаратор для оценки атрибутов в AttributeValueList. Например, равно, больше, меньше и т.д.

Доступны следующие операторы сравнения:

EQ | NE | LE | LT | GE | GT | NOT_NULL | NULL | CONTAINS | NOT_CONTAINS | BEGINS_WITH | IN | BETWEEN

Ниже приведены описания каждого оператора сравнения.

  • EQ : Равно. EQ поддерживается для всех типов данных, включая списки и карты. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число, Двоичное, Набор строк, Набор чисел или Набор двоичных данных. Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не равно {"NS":["6", "2", "1"]}.
  • NE : Не равно. NE поддерживается для всех типов данных, включая списки и карты. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число, Двоичное, Набор строк, Набор чисел или Набор двоичных данных. Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не равно {"NS":["6", "2", "1"]}.
  • LE : Меньше или равно. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не сравнивается с {"NS":["6", "2", "1"]}.
  • LT : Меньше. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не сравнивается с {"NS":["6", "2", "1"]}.
  • GE : Больше или равно. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не сравнивается с {"NS":["6", "2", "1"]}.
  • GT : Больше. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не совпадает. Например, {"S":"6"} не равно {"N":"6"}. Также, {"N":"6"} не сравнивается с {"NS":["6", "2", "1"]}.
  • NOT_NULL : Атрибут существует. NOT_NULL поддерживается для всех типов данных, включая списки и карты.

Примечание

Этот оператор проверяет существование атрибута, а не его тип данных. Если тип данных атрибута “a “ равен null, и вы оцениваете его с помощью NOT_NULL, результат – булевое значение true. Это потому, что атрибут “a “ существует; его тип данных не релевантен оператору сравнения NOT_NULL.
  • NULL : Атрибут не существует. NULL поддерживается для всех типов данных, включая списки и карты.

Примечание

Этот оператор проверяет отсутствие атрибута, а не его тип данных. Если тип данных атрибута “a “ равен null, и вы оцениваете его с помощью NULL, результат – булевое значение false. Это потому, что атрибут “a “ существует; его тип данных не релевантен оператору сравнения NULL.
  • CONTAINS : Проверка подпоследовательности или значения в наборе. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если целевой атрибут сравнения имеет тип Строка, то оператор проверяет совпадение подстроки. Если целевой атрибут имеет тип Двоичное, то оператор ищет подпоследовательность в целевом, соответствующую вводу. Если целевой атрибут является набором (”SS “, “NS “, или “BS “), то оператор оценивается как true, если найдено точное совпадение с любым членом набора. CONTAINS поддерживается для списков: При оценке “a CONTAINS b “, “a “ может быть списком; однако “b “ не может быть набором, картой или списком.
  • NOT_CONTAINS : Проверка отсутствия подпоследовательности или значения в наборе. AttributeValueList может содержать только один AttributeValue элемент типа Строка, Число или Двоичное (не тип набора). Если целевой атрибут сравнения является строкой, то оператор проверяет отсутствие совпадения подстроки. Если целевой атрибут является двоичным, то оператор проверяет отсутствие подпоследовательности в целевом, соответствующей вводу. Если целевой атрибут является набором (”SS “, “NS “, или “BS “), то оператор оценивается как true, если *не* найдено точное совпадение с любым членом набора. NOT_CONTAINS поддерживается для списков: При оценке “a NOT CONTAINS b “, “a “ может быть списком; однако “b “ не может быть набором, картой или списком.
  • BEGINS_WITH : Проверка префикса. AttributeValueList может содержать только один AttributeValue элемент типа Строка или Двоичное (не Число и не тип набора). Целевой атрибут сравнения должен быть типа Строка или Двоичное (не Число и не тип набора).
  • IN : Проверка соответствия элементов в списке. AttributeValueList может содержать один или несколько AttributeValue элементов типа Строка, Число или Двоичное. Эти атрибуты сравниваются с существующим атрибутом элемента. Если любые элементы ввода равны атрибуту элемента, выражение оценивается как true.
  • BETWEEN : Больше или равно первому значению и меньше или равно второму значению. AttributeValueList должен содержать два AttributeValue элемента одного типа: Строка, Число или Двоичное (не тип набора). Целевой атрибут соответствует, если целевое значение больше или равно первому элементу и меньше или равно второму элементу. Если элемент содержит AttributeValue элемент другого типа, чем указанный в запросе, значение не соответствует. Например, {"S":"6"} не сравнивается с {"N":"6"}. Также, {"N":"6"} не сравнивается с {"NS":["6", "2", "1"]}.

AttributeValueList -> (список)

Одно или несколько значений для сравнения со значением указанного атрибута. Количество значений в списке зависит от используемого ComparisonOperator.

Для типа Число сравнения значений выполняются численно.

Сравнения строковых значений на большее, равное или меньшее значение основаны на значениях кодов символов ASCII. Например, a больше, чем A, а a больше, чем B. Список кодовых значений см. на сайте http://en.wikipedia.org/wiki/ASCII#ASCII_printable_characters.

Для типа Двоичный DynamoDB обрабатывает каждый байт двоичных данных как беззнаковый при сравнении двоичных значений.

Сведения о способах задания типов данных в формате JSON см. в разделе Формат данных JSON в руководстве разработчика Amazon DynamoDB.

(структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара «имя—значение». Имя — это тип данных, а значение — это данные сами по себе.

Дополнительные сведения см. в разделе Типы данных в руководстве разработчика 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"}}

ключ -> (строка)

значение -> (структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара «имя—значение». Имя — это тип данных, а значение — это данные сами по себе.

Дополнительные сведения см. в разделе Типы данных в руководстве разработчика 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"}}

ключ -> (строка)

(… рекурсивно …)

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

(… рекурсивно …)

NULL -> (логическое значение)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

L -> (список)

Атрибут типа Список. Например:

"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"}}

ключ -> (строка)

(… рекурсивно …)

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

(… рекурсивно …)

NULL -> (логическое значение)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

NULL -> (логическое значение)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

Синтаксис JSON:

{"string": {
      "Value": {
        "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
      },
      "Exists": true|false,
      "ComparisonOperator": "EQ"|"NE"|"IN"|"LE"|"LT"|"GE"|"GT"|"BETWEEN"|"NOT_NULL"|"NULL"|"CONTAINS"|"NOT_CONTAINS"|"BEGINS_WITH",
      "AttributeValueList": [
        {
          "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
        }
        ...
      ]
    }
  ...}

--return-values (строка)

Используйте ReturnValues, если требуется получить атрибуты элемента в том виде, в котором они существовали до обновления запросом PutItem. Для PutItem допустимы следующие значения:

  • NONE — Если ReturnValues не указан или его значение равно NONE, то ничего не возвращается. (Это значение по умолчанию для ReturnValues).
  • ALL_OLD — Если запрос PutItem перезаписал пару «имя—значение» атрибута, то возвращается содержимое старого элемента.

Возвращаемые значения обладают сильной согласованностью.

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

Примечание

Параметр ReturnValues используется в нескольких операциях DynamoDB; однако, PutItem распознает только значения NONE или ALL_OLD.

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

  • NONE
  • ALL_OLD
  • UPDATED_OLD
  • ALL_NEW
  • UPDATED_NEW

--return-consumed-capacity (строка)

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

  • INDEXES — Ответ включает агрегированное значение ConsumedCapacity для операции, а также значение ConsumedCapacity для каждой таблицы и вторичного индекса, которые были обработаны. Обратите внимание, что некоторые операции, такие как GetItem и BatchGetItem, не обращаются ни к одному индексу. В таких случаях указание INDEXES вернет только информацию ConsumedCapacity для таблицы(ы).
  • TOTAL — Ответ включает только агрегированное значение ConsumedCapacity для операции.
  • NONE — Подробности о потреблении ConsumedCapacity не включены в ответ.

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

  • INDEXES
  • TOTAL
  • NONE

--return-item-collection-metrics (строка)

Определяет, возвращаются ли метрики коллекции элементов. Если установлено значение SIZE, в ответ включается статистика о коллекциях элементов, если таковые были изменены во время операции. Если установлено значение NONE (значение по умолчанию), статистика не возвращается.

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

  • SIZE
  • NONE

--conditional-operator (строка)

Это устаревший параметр. Используйте ConditionExpression вместо него. Дополнительные сведения см. в разделе ConditionalOperator в руководстве разработчика Amazon DynamoDB.

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

  • AND
  • OR

--condition-expression (строка)

Условие, которое должно быть выполнено для успешного выполнения условной операции PutItem.

Выражение может содержать следующее:

  • Функции: attribute_exists | attribute_not_exists | attribute_type | contains | begins_with | size. Эти имена функций чувствительны к регистру.
  • Операторы сравнения: = | <> | < | > | <= | >= | BETWEEN | IN
  • Логические операторы: AND | OR | NOT

Дополнительные сведения об условиях выражений см. в разделе Выражения условий в руководстве разработчика Amazon DynamoDB.

--expression-attribute-names (словарь)

Один или несколько маркеров подстановки для имён атрибутов в выражении. Ниже приведены некоторые варианты использования:

  • Для доступа к атрибуту, имя которого конфликтует с зарезервированным словом DynamoDB.
  • Для создания места для повторяющихся вхождений имени атрибута в выражении.
  • Для предотвращения неправильной интерпретации специальных символов в имени атрибута в выражении.

Используйте символ # в выражении для ссылки на имя атрибута. Например, рассмотрите следующее имя атрибута:

  • Percentile

Имя этого атрибута конфликтует с зарезервированным словом, поэтому его нельзя использовать напрямую в выражении. (Полный список зарезервированных слов см. в руководстве разработчика Amazon DynamoDB).

  • {"#P":"Percentile"}

Затем вы можете использовать эту подстановку в выражении, как в этом примере:

  • #P = :val

Примечание

Маркеры, начинающиеся с символа :, являются значениями атрибутов выражения, которые являются заполнительми для фактического значения во время выполнения.

Дополнительную информацию об именах атрибутов выражений см. в разделе «Указание атрибутов элементов» в руководстве разработчика Amazon DynamoDB.

key -> (строка)

value -> (строка)

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

KeyName1=string,KeyName2=string

Синтаксис JSON:

{"string": "string"
  ...}

--expression-attribute-values (словарь)

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

В выражении используйте символ : (двоеточие) для ссылки на значение атрибута. Например, предположим, что вы хотите проверить, является ли значение атрибута ProductStatus одним из следующих:

Available | Backordered | Discontinued

Сначала вам нужно указать ExpressionAttributeValues следующим образом:

{ ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }

Вы можете использовать эти значения в выражении, например так:

ProductStatus IN (:avail, :back, :disc)

Дополнительную информацию о значениях атрибутов выражений см. в разделе «Выражения условия» в руководстве разработчика Amazon DynamoDB.

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": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

L -> (список)

Атрибут типа Список. Например:

"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": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

NULL -> (логическое значение)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (логическое значение)

Атрибут типа Булево. Например:

"BOOL": true

Синтаксис JSON:

{"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
    }
  ...}

--return-values-on-condition-check-failure (строка)

Необязательный параметр, возвращающий атрибуты элемента для операции PutItem, которая не прошла проверку условия.

Запрос значения, помимо небольших сетевых и процессорных накладных расходов на прием большего ответа, не влечёт дополнительных затрат. Единицы пропускной способности чтения не расходуются.

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

  • ALL_OLD
  • NONE

--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-connect-timeout (int)

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

--cli-read-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: Добавление элемента в таблицу

Следующий put-item пример добавляет новый элемент в таблицу MusicCollection.

aws dynamodb put-item \
    --table-name MusicCollection \
    --item file://item.json \
    --return-consumed-capacity TOTAL \
    --return-item-collection-metrics SIZE

Содержимое item.json:

{
    "Artist": {"S": "No One You Know"},
    "SongTitle": {"S": "Call Me Today"},
    "AlbumTitle": {"S": "Greatest Hits"}
}

Вывод:

{
    "ConsumedCapacity": {
        "TableName": "MusicCollection",
        "CapacityUnits": 1.0
    },
    "ItemCollectionMetrics": {
        "ItemCollectionKey": {
            "Artist": {
                "S": "No One You Know"
            }
        },
        "SizeEstimateRangeGB": [
            0.0,
            1.0
        ]
    }
}

Дополнительную информацию см. в разделе «Запись элемента» в Руководстве разработчика Amazon DynamoDB.

Пример 2: Условное перезапись элемента в таблице

Следующий put-item пример перезаписывает существующий элемент в таблице MusicCollection только в том случае, если у этого элемента есть атрибут AlbumTitle со значением Greatest Hits. Команда возвращает предыдущее значение элемента.

aws dynamodb put-item \
    --table-name MusicCollection \
    --item file://item.json \
    --condition-expression "#A = :A" \
    --expression-attribute-names file://names.json \
    --expression-attribute-values file://values.json \
    --return-values ALL_OLD

Содержимое item.json:

{
    "Artist": {"S": "No One You Know"},
    "SongTitle": {"S": "Call Me Today"},
    "AlbumTitle": {"S": "Somewhat Famous"}
}

Содержимое names.json:

{
    "#A": "AlbumTitle"
}

Содержимое values.json:

{
    ":A": {"S": "Greatest Hits"}
}

Вывод:

{
    "Attributes": {
        "AlbumTitle": {
            "S": "Greatest Hits"
        },
        "Artist": {
            "S": "No One You Know"
        },
        "SongTitle": {
            "S": "Call Me Today"
        }
    }
}

Если ключ уже существует, вы должны увидеть следующий вывод:

A client error (ConditionalCheckFailedException) occurred when calling the PutItem operation: The conditional request failed.

Дополнительную информацию см. в разделе «Запись элемента» в Руководстве разработчика Amazon DynamoDB.

Вывод

Атрибуты -> (отображение)

Значения атрибутов в том виде, как они появились до операции PutItem, но только если ReturnValues указан как ALL_OLD в запросе. Каждый элемент состоит из имени атрибута и значения атрибута.

ключ -> (строка)

значение -> (структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара «имя-значение». Имя — это тип данных, а значение — это сами данные.

Дополнительную информацию см. в разделе «Типы данных» в руководстве разработчика 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"}}

ключ -> (строка)

значение -> (структура)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара «имя-значение». Имя — это тип данных, а значение — это сами данные.

Дополнительную информацию см. в разделе «Типы данных» в руководстве разработчика 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"}}

ключ -> (строка)

(… рекурсивно …)

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

(… рекурсивно …)

NULL -> (булево)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

L -> (список)

Атрибут типа Список. Например:

"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"}}

ключ -> (строка)

(… рекурсивно …)

L -> (список)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

(… рекурсивно …)

NULL -> (булево)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

NULL -> (булево)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (булево)

Атрибут типа Булево. Например:

"BOOL": true

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

Единицы емкости, израсходованные операцией PutItem. Возвращаемые данные включают общий потребленный пропускной способности, а также статистику для таблицы и всех индексов, участвующих в операции. ConsumedCapacity возвращается только в том случае, если параметр ReturnConsumedCapacity был указан. Дополнительную информацию см. в разделе «Потребление единиц емкости для операций записи» в руководстве разработчика Amazon DynamoDB.

TableName -> (строка)

Имя таблицы, затронутой операцией. Если в вводе вы указали Amazon Resource Name (ARN) таблицы, то в ответе вы увидите ARN таблицы.

CapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц емкости в результате операции.

ReadCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности чтения в результате операции.

WriteCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности записи в результате операции.

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

Объем пропускной способности, израсходованный в таблице, затронутой операцией.

ReadCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности чтения в таблице или индексе.

WriteCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности записи в таблице или индексе.

CapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц емкости в таблице или индексе.

LocalSecondaryIndexes -> (отображение)

Объем пропускной способности, израсходованный на каждом локальном индексе, затронутом операцией.

ключ -> (строка)

значение -> (структура)

Представляет объем потребленной пропускной способности в таблице или индексе.

ReadCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности чтения в таблице или индексе.

WriteCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности записи в таблице или индексе.

CapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц емкости в таблице или индексе.

GlobalSecondaryIndexes -> (отображение)

Объем пропускной способности, израсходованный на каждом глобальном индексе, затронутом операцией.

ключ -> (строка)

значение -> (структура)

Представляет объем потребленной пропускной способности в таблице или индексе.

ReadCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности чтения в таблице или индексе.

WriteCapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц пропускной способности записи в таблице или индексе.

CapacityUnits -> (число с плавающей запятой)

Общее количество потребленных единиц емкости в таблице или индексе.

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

Информация об элементах коллекций, если таковые были затронуты операцией PutItem. ItemCollectionMetrics возвращается только в том случае, если был указан параметр ReturnItemCollectionMetrics. Если таблица не имеет локальных вторичных индексов, эта информация не возвращается в ответе.

Каждый элемент ItemCollectionMetrics состоит из:

  • ItemCollectionKey - Значение ключа раздела для коллекции элементов. Это то же самое, что и значение ключа раздела для самого элемента.
  • SizeEstimateRangeGB - Оценка размера коллекции элементов в гигабайтах. Это значение представляет собой массив из двух элементов, содержащий нижнюю и верхнюю границы оценки. Оценка включает размер всех элементов в таблице, а также размер всех атрибутов, спроецированных во все локальные вторичные индексы в этой таблице. Используйте эту оценку для измерения того, приближается ли локальный вторичный индекс к своему пределу размера. Оценка может меняться со временем; поэтому не полагайтесь на точность и достоверность оценки.

ItemCollectionKey -> (map)

Значение ключа раздела для коллекции элементов. Это значение совпадает со значением ключа раздела для элемента.

key -> (string)

value -> (structure)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара имя-значение. Имя — это тип данных, а значение — это данные сами по себе.

Для получения дополнительной информации см. раздел Типы данных в Руководстве разработчика Amazon DynamoDB .

S -> (string)

Атрибут типа Строка. Например:

"S": "Hello"

N -> (string)

Атрибут типа Число. Например:

"N": "123.45"

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

B -> (blob)

Атрибут типа Бинарный. Например:

"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"

SS -> (list)

Атрибут типа Набор строк. Например:

"SS": ["Giraffe", "Hippo" ,"Zebra"]

(string)

NS -> (list)

Атрибут типа Набор чисел. Например:

"NS": ["42.2", "-19", "7.5", "3.14"]

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

(string)

BS -> (list)

Атрибут типа Набор бинарных данных. Например:

"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

(blob)

M -> (map)

Атрибут типа Map. Например:

"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}

key -> (string)

value -> (structure)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара имя-значение. Имя — это тип данных, а значение — это данные сами по себе.

Для получения дополнительной информации см. раздел Типы данных в Руководстве разработчика Amazon DynamoDB .

S -> (string)

Атрибут типа Строка. Например:

"S": "Hello"

N -> (string)

Атрибут типа Число. Например:

"N": "123.45"

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

B -> (blob)

Атрибут типа Бинарный. Например:

"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"

SS -> (list)

Атрибут типа Набор строк. Например:

"SS": ["Giraffe", "Hippo" ,"Zebra"]

(string)

NS -> (list)

Атрибут типа Набор чисел. Например:

"NS": ["42.2", "-19", "7.5", "3.14"]

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

(string)

BS -> (list)

Атрибут типа Набор бинарных данных. Например:

"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

(blob)

M -> (map)

Атрибут типа Map. Например:

"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}

key -> (string)

( … рекурсивно … )

L -> (list)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

( … рекурсивно … )

NULL -> (boolean)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (boolean)

Атрибут типа Булево. Например:

"BOOL": true

L -> (list)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

(structure)

Представляет данные для атрибута.

Каждое значение атрибута описывается как пара имя-значение. Имя — это тип данных, а значение — это данные сами по себе.

Для получения дополнительной информации см. раздел Типы данных в Руководстве разработчика Amazon DynamoDB .

S -> (string)

Атрибут типа Строка. Например:

"S": "Hello"

N -> (string)

Атрибут типа Число. Например:

"N": "123.45"

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

B -> (blob)

Атрибут типа Бинарный. Например:

"B": "dGhpcyB0ZXh0IGlzIGJhc2U2NC1lbmNvZGVk"

SS -> (list)

Атрибут типа Набор строк. Например:

"SS": ["Giraffe", "Hippo" ,"Zebra"]

(string)

NS -> (list)

Атрибут типа Набор чисел. Например:

"NS": ["42.2", "-19", "7.5", "3.14"]

Числа передаются по сети в DynamoDB в виде строк для максимальной совместимости с различными языками и библиотеками. Однако DynamoDB обрабатывает их как атрибуты типа число для математических операций.

(string)

BS -> (list)

Атрибут типа Набор бинарных данных. Например:

"BS": ["U3Vubnk=", "UmFpbnk=", "U25vd3k="]

(blob)

M -> (map)

Атрибут типа Map. Например:

"M": {"Name": {"S": "Joe"}, "Age": {"N": "35"}}

key -> (string)

( … рекурсивно … )

L -> (list)

Атрибут типа Список. Например:

"L": [ {"S": "Cookies"} , {"S": "Coffee"}, {"N": "3.14159"}]

( … рекурсивно … )

NULL -> (boolean)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (boolean)

Атрибут типа Булево. Например:

"BOOL": true

NULL -> (boolean)

Атрибут типа Null. Например:

"NULL": true

BOOL -> (boolean)

Атрибут типа Булево. Например:

"BOOL": true

SizeEstimateRangeGB -> (list)

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

Оценка может меняться со временем; поэтому не полагайтесь на точность и достоверность оценки.

(double)

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

Spec-Zone.ru

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