boto3:Table.get_item 没有 return 项

boto3: Table.get_item doesn't return items

我在本地机器上执行这段代码。

import boto3
boto3.resource('dynamodb').Table('table_name').get_item(Key={'id': 'id'})

它returns这个。

{'ResponseMetadata': {'RequestId': 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'server': 'Server',
   'date': 'Sat, 29 Aug 2020 08:23:07 GMT',
   'content-type': 'application/x-amz-json-1.0',
   'content-length': '2',
   'connection': 'keep-alive',
   'x-amzn-requestid': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
   'x-amz-crc32': 'xxxxxxxxxxxxxxxxxx'},
  'RetryAttempts': 0}}

我如何使用 boto3 从 dynamodb 获取项目?

GetItem 的预期响应应类似于以下语法。

{
    'Item': {
        'AlbumTitle': {
            'S': 'Songs About Life',
        },
        'Artist': {
            'S': 'Acme Band',
        },
        'SongTitle': {
            'S': 'Happy Day',
        },
    },
    'ResponseMetadata': {
        '...': '...',
    },
}

因为您有 ResponseMetadata 并且它返回了 200,这表明对 DynamoDB 的请求确实成功了,但是没有带有键 id 的项目的值为 id

您应该验证传入的值是真实的 ID 值。