如何解决AWS Lambda事件dict以非标准方式运行?
考虑以下代码:
def handle_lambda(event,context):
multivalue_params = event.get('multiValuequerystringparameters',{})
print(multivalue_params)
print(type(multivalue_params).__name__)
print(type(event).__name__)
输出:
None
nonetype
dict
给什么?为什么字典默认参数在事件字典上不起作用?是否有我所缺少的最佳实践?
解决方法
这是字典中非常常见的行为,当该键存在:
>>> event = {'multiValueQueryStringParameters': None}
>>> multivalue_params = event.get('multiValueQueryStringParameters',{})
>>> print(multivalue_params)
None
>>> print(type(multivalue_params).__name__)
NoneType
>>> print(type(event).__name__)
dict
dict.get
仅在键完全不存在时返回默认参数。您可能想要这样的东西:
# be prepared for both non-existent keys and None values:
multivalue_params = event.get('multiValueQueryStringParameters') or {}
# or expect the key to exist but to potentially be None:
multivalue_params = event['multiValueQueryStringParameters']
if multivalue_params is not None:
# process only in this case
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。