Изменить атрибут элемента после сканирования, используя boto3 в AWS Lambda - PullRequest
0 голосов
/ 29 марта 2019

Цель состоит в том, чтобы отсканировать и вернуть все элементы в таблице DynamoDB, , но до того, как ответ будет возвращен, изменить определенный атрибут каждого конкретного элемента.

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

В настоящее время я возвращаю полное сканирование таблицы и перебираю каждый элемент списка (обнаружил, что это не объект, а список):

    dynamodb = boto3.resource('dynamodb')
    table = dynamodb.Table('<table name>')

    response = table.scan()

    items = response['Items']

    for item in items:
        item['Thumbnail'] = 'https://s3.amazonaws.com/<s3bucket>/' + item['Thumbnail']

    return items

Я сомневаюсь, что решение может быть решено без зацикливания, но если есть решение, которое позволяет избежать зацикливания, мне не терпится его услышать!

1 Ответ

0 голосов
/ 29 марта 2019

Ваша стоимость обновления элементов будет измеряться в мс. Сканирование Dynamodb + задержка в сети займет гораздо больше времени.

...