gpt4 book ai didi

python - AWS Lambda 在没有 Lambda 重试的情况下处理 Python 中的错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:29 25 4
gpt4 key购买 nike

默认情况下,如果您的 Lambda 函数出错,它将自动重试 2 次。我正在处理 Lambda 函数中的某些错误,这些错误并不是真正的错误,基本上如果我正在搜索的 json 不在返回的 json 中,我会记录它没有找到,我希望脚本停止在这一点上,他们已经没有什么可做的了。然而,当我 try catch 异常时,它正确地记录和退出,但因为它报告它为错误,Lambda 再次运行它。

是我对 sys.exit() 的使用导致的吗?我没有在第一个示例中尝试/捕获错误,但它确实会重试。

示例:遍历 json 节点,如果它找到一个匹配而不是分配一个变量,如果它不处理异常并写入 cloudwatch(打印)它没有找到匹配。

while index < result_nodes:
if TL2['message_response']['computers'][index]['resource_name'] == instance_name:
resource_id = TL2['message_response']['computers'][index]['resource_id']
index += 1

index += 1
if resource_id == '':
print('No match found, quitting.')
sys.exit()

另一个类似的用法

instance_name = ''
try:
for tag in response['Reservations'][0]['Instances'][0]['Tags']:
if tag['Key'] == 'Name':
instance_name = tag['Value']
if instance_name == '':
print('EC2 Instance name not set, quitting')
sys.exit()
else:
print('Step 2 - Get Computer Name: ' + instance_name)
except Exception:
print('No tags exist for this terminated EC2 instance, quitting.')
sys.exit()

最佳答案

尝试删除 sys.exit(),它应该不会再重试了。类似情况https://stackoverflow.com/a/52739848/12103989

关于python - AWS Lambda 在没有 Lambda 重试的情况下处理 Python 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58935704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com