Как мне вернуть ТОЛЬКО значение из моей таблицы DynamoDB? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь вернуть значение из атрибута в моей таблице Dynamodb. Код для REST API приведен ниже. В настоящее время я получаю возвращаемое значение {"N": "101"}. Как мне получить возвращаемое значение 101? До того, как я добавил count = response['Attributes']['Visits'], возвращаемое значение также включало метаданные.

import boto3
import json

dynamodb = boto3.client('dynamodb')
def lambda_handler(event, context):
    response = dynamodb.update_item(
        TableName='ResumeCounter',
        Key={
            'Site': {
                'N': '0'
            }
        },
        UpdateExpression='SET Visits = Visits + :inc',
        ExpressionAttributeValues={
            ':inc': {'N': '1'}
        },
        ReturnValues="UPDATED_NEW"
    )
    res = dynamodb.get_item(
        TableName='ResumeCounter',
        Key={
            'Site': {
                'N': '0'
            }
        },
        ProjectionExpression='Visits',
    )
    count = response['Attributes']['Visits']
    return count  


1 Ответ

1 голос
/ 19 июня 2020

Чтобы получить результат от объекта ответа на обновление, используйте

count = response['Attributes']['Visits']['N']
return count  

, а для получения из get_Item используйте

count = response['Item']['Visits']['N']
...