这是我的代码,我试图通过python代码从现有的dynamodb表中获取数据。
import boto3
import os
os.environ['AWS_DEFAULT_REGION'] = 'us-east-1'
_TableName_ = "TablaLoraPF"
client = boto3.client('dynamodb')
DB = boto3.resource('dynamodb')
table = DB.Table(_TableName_)
response = table.get_item(
Key={
'seqno': "65909", 'data': "11"
}
)
response["Item"]
print(response['Item'])您的文本
我试过了密码,这就是我得到的:
{“有效载荷”:{“元数据”:{“报告”:{'rssi':{‘时间戳’:十进制(‘1667076850’)},'snr':‘时间戳’:十进制(‘1667076850’)},'ant':{‘时间戳’:十进制(‘1667076850’)},'gweui':十进制(‘1667076850’)}},‘十进制’:‘十进制’:‘’时间戳‘:(’1667076850‘)}}“时间”:{‘时间戳’:小数(‘1667076850’)},'lat':{‘时间戳’:小数(‘1667076850’)},'ts':{‘时间戳’:小数点(‘1667076850’)}},'seqno':{‘时间戳’:小数(‘1667076850’)},‘数据’‘{’时间戳‘:十进制(’1667076850‘)}},'toa':’时间戳‘:’,}}“‘freq”:{“时间戳”:小数(’1667076850‘)},'ack':{’时间戳‘:小数(’1667076850‘)},'fcnt':{’时间戳‘:小数(’1667076850‘)},'dr':{’时间戳‘:小数(’1667076850‘)},'bat':{’时间戳‘:(’1667076850‘)}},’端口‘:{’时间戳‘:小数点(’1667076850‘)}}。‘'EUI':{’时间戳‘:小数(’1667076850‘)},'cmd':{’时间戳‘:小数(’1667076850‘)},'_id':{’时间戳‘:小数(’1667076850‘)},'ts':{’时间戳‘:十进制(’1667076850‘},’状态‘:{'gws':{'rssi':十进制(’-107‘),'snr':十进制(’7‘)}‘'ant':小数点(’0‘),'gweui':’B 827EBFFFFFCF03ED‘,'lon':十进制(’-74.868961‘),'time':'2022-10-24T23:17:27.942418Z','lat':十进制(’11.023132‘),'ts':小数(’1667076849799‘)},'seqno':十进制(’65909‘),’数据‘:'11','toa':’十进制‘(’1155‘),’freq‘小数(’868500000‘),'SF12‘:BW125 4/5,'bat':十进制(’255‘),’端口‘:小数点(’8‘),'EUI':’BE7A0000000000056D‘,'cmd':'gw',’gw‘,'635d92f25390de5ad9600ba0','ts':十进制(’1667076849799‘)}},’版本‘:十进制(’248‘),’十进制‘(’1667076850‘)},'seqno':'65909',‘data’:‘11’}
代码返回所有这些数据,但我只想要粗体部分,确切地说是这个部分(‘seqno:'65909',’data‘:’exactly‘11’})
我附加了一个dynamodb表的映像,我只想打印列seqno和data上的数据,而不是有效负载

但我不知道怎么做。请帮忙
发布于 2022-11-08 23:28:45
要做到这一点,您需要指定ProjectionExpression。
response = table.get_item(
Key={
'seqno': "65909", 'data': "11"
},
ProjectionExpression = '#data',
ExpressionAttributeNames = {
'#d':'data'
}
)然而,我的问题是,为什么您只想返回您已经知道的列,似乎是您的PK/SK?
https://stackoverflow.com/questions/74367305
复制相似问题