Python 3.x 如何在boto3 dynamodb中查询json文件?

Python 3.x 如何在boto3 dynamodb中查询json文件?,python-3.x,amazon-dynamodb,boto3,Python 3.x,Amazon Dynamodb,Boto3,我在dynamodb中访问json对象的键值时遇到问题。例如,假设我有以下代码: pf = boto3.resource('dynamodb', region_name='us-west-2', ..).Table("portfolios") from boto3.dynamodb.conditions import Key, Attr pf.query(KeyConditionExpression=Key('user').eq('user1'), FilterExpre

我在dynamodb中访问json对象的键值时遇到问题。例如,假设我有以下代码:

pf = boto3.resource('dynamodb', region_name='us-west-2', ..).Table("portfolios")
from boto3.dynamodb.conditions import Key, Attr
    pf.query(KeyConditionExpression=Key('user').eq('user1'),
        FilterExpression=Attr('payload.name'))
我收到上述代码的错误:

    {'Items': [],
 'Count': 0,
 'ScannedCount': 2,
 'ResponseMetadata': {'RequestId': 'LLR4058OVT9OVOAH2323PD43BRVV4KQNSO5AEMVJF66Q9ASUAAJG',
  'HTTPStatusCode': 200,
  'HTTPHeaders': {'server': 'Server',
   'date': 'Tue, 25 Feb 2020 22:06:23 GMT',
   'content-type': 'application/x-amz-json-1.0',
   'content-length': '39',
   'connection': 'keep-alive',
   'x-amzn-requestid': 'LLR4058OVT9OVOAH2323PD43BRVV4KQNSO5AEMVJF66Q9ASUAAJG',
   'x-amz-crc32': '4181910954'},
  'RetryAttempts': 0}}
以下是我的表模式:

user        id                                            payload
123         120f3a28-c89a-4b20-89bd-dea385c4a15a          {}
user1       008bc37d-4b24-4731-9a4d-36756ba4f06d          {"created": {"S:..
user1       a30cee2d-5624-4896-b6d5-a5623b341cc1          {"Created": {"S:...
user2       z30ckk2d-2123-7654-9a94-a55b3211cc23          {"Created": {"S:...
以下是有效负载列中的典型有效负载

    {'payload': {'record_count': Decimal('2'),
  'size_type': 'percent',
  'records': [{'name': 'SSGA SPDR S&P 500 - SSgA Active Trust',
    'ticker': 'SPY US',
    'id': '80d99cb7-354f-4d30-ac13-17ba4ec02733',
    'locale': 'US',
    'size': Decimal('80'),
    'secid': Decimal('549535')},
   {'name': 'BTC iShares Core U.S. Aggregate Bond ETF - BlackRock Institutional Trust Company N.A.',
    'ticker': 'AGG US',
    'id': '807bfb0f-757d-4913-b87f-df54dae4154b',
    'locale': 'US',
    'size': Decimal('20'),
    'secid': Decimal('551115')}],
  'created': '2020-02-25T18:16:06.584162',
  'name': 'Logicly Aggressive Benchmark',
  'currency': 'usd',
  'id': '008bc37d-4b24-4731-9a4d-36756ba4f06d',
  'updated': '2020-02-25T18:16:06.584164'},
 'id': '008bc37d-4b24-4731-9a4d-36756ba4f06d',
 'user': 'user1'}
如您所见,有效负载有一个名为“payload”的键,该键有一个“name”。i、 e“逻辑上积极的基准”


如何查询user1中的所有公文包并获取每个有效负载的name属性?谢谢

实际的模式是什么?有效负载的列类型是什么?@JD Schema有3列,分别称为“user”、“id”和“payload”。在payload内部是一个json对象,它有一个名称键,我需要它来获取“Logicly Aggressive Benchmark”和id“008bc37d”。payload是一个字符串列吗?地图栏?@JD这是地图栏。很抱歉