如何仅从DynamoDB表返回值?

2024-06-28 11:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从dynamodb表中的属性返回一个值。RESTAPI的代码如下所示。我当前得到的返回值是{“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  



Tags: keyimport属性responsecountsiteboto3item
1条回答
网友
1楼 · 发布于 2024-06-28 11:28:01

要从更新响应对象获取输出,请使用

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

以及从get_项目使用中获取

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

相关问题 更多 >