python - 使用 Python 查询 DynamoDB
问题描述
查询 DynamoDB 表时,代码对于有效条目 (msisdn) 工作正常,但是对于不存在的条目,它确实会崩溃。
import boto3
from botocore.exceptions import ClientError
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('PhoneList')
# Phone Number
# -> Existent: 44790000000
msisdn = 44790000000
try:
response = table.get_item(Key={'MSISDN': msisdn})
name = response['Item']['Name']
ID = str(response['Item']['ID'])
birth = response['Item']['Birth']
except ClientError as e:
print(e.response['Error']['Message'])
print("Phone number not found")
exit(-1)
print("Phone:", msisdn)
print("Name:", name)
print("ID:", id)
print("Birth:", birth)
输入无效
Traceback (most recent call last):
File "dyn.py", line 15, in <module>
name = response['Item']['Name']
KeyError: 'Item'
数据库
我想我可能没有正确处理异常?
解决方案
推荐阅读
- c++ - 总和大于 K 的最大长度子数组
- android - 返回true和返回超类有区别吗?在 setOnTouchListener() 等方法中
- reactjs - 反应路由器内容没有改变
- mysql - 提高仅增长表的计数记录性能(不删除)
- delphi - 如何防止 TIdTcpServer 泛滥和连接卡住
- reactjs - 使用 nextjs 正确链接引导导航栏
- saprfc - 当需要消息服务器和端口时,如何在 7.50+ 中从 VBA 连接到 SAP
- git - 如何远程转储gitea存储库
- python - opencv 锐界提取图像
- postgresql - 如果列数不一致,如何在postgresql中取消堆叠group by的结果