我正在尝试为无服务器python的flask应用程序设置SQS事件的触发器。一旦我尝试使用 Zappa 进行部署,它将给我以下消息:
Oh no! An error occurred! :(
==============
Traceback (most recent call last):
...
File "...\venv\lib\site-packages\zappa\core.py", line 2613, in unschedule_events
self.boto_session
File "...\venv\lib\site-packages\zappa\utilities.py", line 317, in remove_event_source
event_source_obj, ctx, funk = get_event_source(event_source, lambda_arn, target_function, boto_session, dry=False)
File "...\venv\lib\site-packages\zappa\utilities.py", line 256, in get_event_source
raise ValueError('Unknown event source: {0}'.format(arn))
ValueError: Unknown event source: arn:aws:sqs:MY_QUEUE
==============
这是我的 zappa_settings.json
中的相关信息"dev_events": {
"debug": true,
"log_level": "DEBUG",
"app_function": "application.app",
"aws_region": ...,
"profile_name": "default",
"project_name": ..,
"runtime": "python3.6",
"s3_bucket": ...,
"timeout_seconds": 30,
"keep_warm": false,
"keep_warm_expression": "rate(5 minutes)",
"memory_size": 256,
"manage_roles": true,
"use_precompiled_packages": true,
"environment_variables": {
...
},
"aws_environment_variables ": {
...
},
"events": [
{
"function": "application.process_simulation_paths_queue",
"event_source": {
"arn": "arn:aws:sqs:MY_QUEUE",
"batch_size": 10,
"enabled": true
}
}
],
"exclude": [
...
]
}
我已经用正确的名称创建了SQS队列并复制了其ARN,然后按照issue和此PR中记录的格式配置了 zappa_settings.json
答案 0 :(得分:0)
您至少需要Zappa的0.47.0版本才能将SQS用作事件源:
https://github.com/Miserlou/Zappa/blob/master/CHANGELOG.md#0470