Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Managed Service for YDB
  • Начало работы
  • Управление доступом
      • Все методы
        • BatchGetItem
        • BatchWriteItem
        • CreateTable
        • DeleteItem
        • DeleteTable
        • DescribeTable
        • DescribeTimeToLive
        • GetItem
        • ListTables
        • PutItem
        • Query
        • Scan
        • TransactGetItems
        • TransactWriteItems
        • UpdateItem
        • UpdateTimeToLive
        • UpdateTable
    • Общие ошибки при работе с Document API
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Публичные материалы
  • Обучающие курсы

В этой статье:

  • Запрос
  • Параметры
  • Ответ
  • Параметры
  • Ошибки
  1. Document API, совместимый с Amazon DynamoDB
  2. Справочник Document API
  3. Actions
  4. Scan

Метод Scan

Статья создана
Yandex Cloud
Улучшена
syfulin
Обновлена 12 июля 2022 г.
  • Запрос
    • Параметры
  • Ответ
    • Параметры
  • Ошибки

Возвращает элементы и атрибуты из указанной таблицы.
По умолчанию возвращает все элементы, но не более 1 Мб за раз или до 100 записей. Если в таблице больше данных, то в параметре LastEvaluatedKey вернется последний первичный ключ, на котором остановилась операция сканирования. Его можно использовать для продолжения сканирования.

Фильтры, указанные в параметре FilterExpression, применяются уже после основной выборки.

По умолчанию метод возвращает потенциально согласованные данные из таблицы. Если нужны строго согласованные данные, то необходимо установить параметр ConsistentRead=true.

ЗапросЗапрос

Запрос содержит данные в формате JSON.

{
   "ConditionalOperator": "string",
   "ConsistentRead": boolean,
   "ExclusiveStartKey": { 
      "string" : { 
         "B": blob,
         "BOOL": boolean,
         "BS": [ blob ],
         "L": [ 
            "AttributeValue"
         ],
         "M": { 
            "string" : "AttributeValue"
         },
         "N": "string",
         "NS": [ "string" ],
         "NULL": boolean,
         "S": "string",
         "SS": [ "string" ]
      }
   },
   "ExpressionAttributeNames": { 
      "string" : "string" 
   },
   "ExpressionAttributeValues": { 
      "string" : { 
         "B": blob,
         "BOOL": boolean,
         "BS": [ blob ],
         "L": [ 
            "AttributeValue"
         ],
         "M": { 
            "string" : "AttributeValue"
         },
         "N": "string",
         "NS": [ "string" ],
         "NULL": boolean,
         "S": "string",
         "SS": [ "string" ]
      }
   },
   "FilterExpression": "string",
   "IndexName": "string",
   "Limit": number,
   "ProjectionExpression": "string",
   "ReturnConsumedCapacity": "string",
   "ScanFilter": { 
      "string" : { 
         "AttributeValueList": [ 
            { 
               "B": blob,
               "BOOL": boolean,
               "BS": [ blob ],
               "L": [ 
                  "AttributeValue"
               ],
               "M": { 
                  "string" : "AttributeValue"
               },
               "N": "string",
               "NS": [ "string" ],
               "NULL": boolean,
               "S": "string",
               "SS": [ "string" ]
            }
         ],
         "ComparisonOperator": "string"
      }
   },
   "Select": "string",
   "TableName": "string"
}

ПараметрыПараметры

Параметр Описание
TableName Имя таблицы, содержащей данные.
Может содержать путь в иерархии каталогов вида path/to/table.

Тип: Строка
Длина: 3 - 255 символов
Шаблон: [a-zA-Z0-9_.-]+
Обязательно: Да
ConsistentRead Определение модели согласованносити чтения.
Если true, то используется строго согласованное чтение; если false (по умолчанию), то используется последовательное чтение.
Параметр не поддерживается для глобальных вторичных индексов. Если попытаться просканировать вторичный индекс со значением true, то метод вернет исключение ValidationException.

Тип: Boolean
Обязательно: Нет
ExclusiveStartKey Первичный ключ элемента, с которого метод начнет поиск.
Если в предыдущем запросе метод вернул LastEvaluatedKey, то используйте это значение чтобы продолжить поиск с того места, на котором метод остановился в прошылй раз.

Тип: Объект типа AttributeValue
Длина ключа: максимальная длина 65535.
Обязательно: Нет
ExpressionAttributeNames Заполнитель (placeholder), который можно использовать в выражении вместо имени атрибута. Заполнитель должен начинаться с символа решетки #.
В каких случаях это может пригодиться:
  • Если нужно указать атрибут, имя которого конфликтует с зарезервированным словом.
  • В качестве переменной, если имя атрибута используется в выражении несколько раз.
  • Для предотвращения неправильной интерпретации специальных символов в имени атрибута.
Например, имя атрибута Percentile конфликтует с зарезервированным словом, и его нельзя в явном виде использовать в выражении. Чтобы обойти эту проблему, нужно в параметре ExpressionAttributeNames указать заполнитель: {"#P":"Percentile"}. И затем вместо настоящего имени атрибута использовать #P.

Тип: Строка
Длина: 1 - 65535 символов.
Обязательно: Нет
ExpressionAttributeValues Заполнитель (placeholder), который можно использовать в выражении вместо значения атрибута, аналогично ExpressionAttributeNames. Заполнитель должен начинаться с символа двоеточия :.
Например, нужно проверить, было ли значение атрибута ProductStatus одним из следующих: Available | Backordered | Discontinued. Для этого сначала объявить заполнители : { ":avail":{"S":"Available"}, ":back":{"S":"Backordered"}, ":disc":{"S":"Discontinued"} }. А потом их можно использовать в выражении: ProductStatus IN (:avail, :back, :disc)

Тип: Строка типа AttributeValue
Обязательно: Нет
FilterExpression Условия, которые применятся после первоначальной выборки данных.
Элементы, не соответвтующие этому условию, не вернутся в итоговом ответе.
Тип: Строка
Обязательно: Нет
IndexName Имя глобального вторичного индекса для сканирования. Обратите внимание, что если вы используете этот параметр, вы также должны указать TableName.
Тип: Строка
Длина: 3 - 255 символов
Шаблон: [a-zA-Z0-9_.-]+
Обязательно: Нет
Limit Максимальное количество элементов, которые будут оценены для выборки.
Когда метод обработает указанное количество элементов, он останавливается и возвращает результат до того места, на котором остановился. При этом в параметре LastEvaluatedKey вернется последний ключ, на котором он остановился. Его можно использовать чтобы продолжить сканирование с того места, на котором остановился метод.

Тип: Целое число
Диапазон: минимальное значение 1.
Обязательно: Нет
ProjectionExpression Выражение, определяющие атрибуты для извлечения. Атрибуты в выражении должны быть разделены запятыми.
Если имена атрибутов не указаны явно, то возвращаются все атрибуты элемента.

Тип: Строка
Обязательно: Нет
ReturnConsumedCapacity Нужно ли возвращать информацию о потребляемой мощности.
  • TOTAL - Вернуть информацию.
  • NONE - Не возвращать информацию.

Тип: Строка
Возможные значения: TOTAL | NONE
Обязательно: Нет
Select Атрибуты, которые нужно вернуть.
Может принимать значения:
  • ALL_ATTRIBUTES — возвращает все атрибуты элемента из таблицы или индекса (по умолчанию).
  • COUNT — возвращает только количество совпадающих атрибутов.

Тип: Строка
Допустимые значения: ALL_ATTRIBUTES | COUNT
Обязательно: Нет

ОтветОтвет

В случае успеха вернется HTTP с кодом 200.
Запрос возвращает данные в формате JSON.

{
   "ConsumedCapacity": { 
      "CapacityUnits": number,
      "GlobalSecondaryIndexes": { 
         "string" : { 
            "CapacityUnits": number,
            "ReadCapacityUnits": number,
            "WriteCapacityUnits": number
         }
      },
      "LocalSecondaryIndexes": { 
         "string" : { 
            "CapacityUnits": number,
            "ReadCapacityUnits": number,
            "WriteCapacityUnits": number
         }
      },
      "ReadCapacityUnits": number,
      "Table": { 
         "CapacityUnits": number,
         "ReadCapacityUnits": number,
         "WriteCapacityUnits": number
      },
      "TableName": "string",
      "WriteCapacityUnits": number
   },
   "Count": number,
   "Items": [ 
      { 
         "string" : { 
            "B": blob,
            "BOOL": boolean,
            "BS": [ blob ],
            "L": [ 
               "AttributeValue"
            ],
            "M": { 
               "string" : "AttributeValue"
            },
            "N": "string",
            "NS": [ "string" ],
            "NULL": boolean,
            "S": "string",
            "SS": [ "string" ]
         }
      }
   ],
   "LastEvaluatedKey": { 
      "string" : { 
         "B": blob,
         "BOOL": boolean,
         "BS": [ blob ],
         "L": [ 
            "AttributeValue"
         ],
         "M": { 
            "string" : "AttributeValue"
         },
         "N": "string",
         "NS": [ "string" ],
         "NULL": boolean,
         "S": "string",
         "SS": [ "string" ]
      }
   },
   "ScannedCount": number
}

ПараметрыПараметры

Параметр Описание
ConsumedCapacity Единицы мощности, потребленные операцией удаления.
Возвращается только в том случае, если в запросе был указан параметр ReturnConsumedCapacity со значением TOTAL.

Тип: объект типа ConsumedCapacity
Count Количество элементов в ответе.
Если в запросе вы использовали FilterExpression, тогда это количество элементов, возвращенных после применения фильтра.

Тип: целое число
Items Массив атрибутов, подходящих под критерии сканирования.
Каждый элемент в массиве состоит из имени и значения этого атрибута.

Тип: массив объектов типа AttributeValue
Длина ключа: 1 - 65535 символов.
LastEvaluatedKey Первичный ключ элемента, на котором остановилось сканирование. Используйте это значение, чтобы продолжить с того места, на котором остановились. Если в LastEvaluatedKey пусто, значит метод обработал все элементы и больше нечего возвращать.

Тип: ассоциативный массив типа AttributeValue
Длина ключа: 1 - 65535 символов.
ScannedCount Количество элементов, найденных до применения фильтров FilterExpression.

Тип: целое число

ОшибкиОшибки

Параметр Описание
InternalServerError Произошла внутренняя ошибка на стороне сервера.

Код состояния HTTP: 500
ProvisionedThroughputExceededException Вы слишком часто отправляете запросы. Попробуйте увеличить интервалы между запросами.
Если таких запросов будет не слишком много, Managed Service for YDB постарается обработать их все.

Код состояния HTTP: 400
RequestLimitExceeded Пропускная способность превышает квоту.

Код состояния HTTP: 400
ResourceNotFoundException Указанная таблица не существует.

Код состояния HTTP: 400

Также могут возникать Общие ошибки, одинаковые для всех методов.

Была ли статья полезна?

Предыдущая
Query
Следующая
TransactGetItems
Проект Яндекса
© 2025 ООО «Яндекс.Облако»