首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python从Dynamodb获取数据

使用Python从Dynamodb获取数据
EN

Stack Overflow用户
提问于 2022-11-08 21:20:22
回答 1查看 44关注 0票数 -1

这是我的代码,我试图通过python代码从现有的dynamodb表中获取数据。

代码语言:javascript
复制
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上的数据,而不是有效负载

但我不知道怎么做。请帮忙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-08 23:28:45

要做到这一点,您需要指定ProjectionExpression

代码语言:javascript
复制
response = table.get_item(
    Key={
        'seqno': "65909", 'data': "11"
    },
    ProjectionExpression = '#data', 
    ExpressionAttributeNames = {
         '#d':'data'
    }
)

https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_GetItem.html#DDB-GetItem-request-ProjectionExpression

然而,我的问题是,为什么您只想返回您已经知道的列,似乎是您的PK/SK?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74367305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档