我已经成功地用zappa部署了一个简单的hello world应用程序,但是当我访问URL时,我得到的结果是:
{"message": "Internal server error"}
当我试图运行zappa tail production
时,收到错误:
botocore.errorfactory.ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the DescribeLogStreams operation: The specified log group does not exist.
我运行的是Windows10、Python3.6和Zappa0.45.1
虚拟环境使用:
argcomplete==1.9.2
base58==0.2.4
boto3==1.7.5
botocore==1.10.5
certifi==2018.4.16
cfn-flip==1.0.3
chardet==3.0.4
click==6.7
docutils==0.14
durationpy==0.5
Flask==0.12.2
future==0.16.0
hjson==3.0.1
idna==2.6
itsdangerous==0.24
Jinja2==2.10
jmespath==0.9.3
kappa==0.6.0
lambda-packages==0.19.0
MarkupSafe==1.0
placebo==0.8.1
python-dateutil==2.6.1
python-slugify==1.2.4
PyYAML==3.12
requests==2.18.4
s3transfer==0.1.13
six==1.11.0
toml==0.9.4
tqdm==4.19.1
troposphere==2.2.1
Unidecode==1.0.22
urllib3==1.22
virtualenv==15.2.0
Werkzeug==0.14.1
wsgi-request-logger==0.4.6
zappa==0.45.1
我的应用程序副本看起来像:
^{pr2}$扎米PPA_设置.json是:
{
"production": {
"app_function": "app.app",
"aws_region": "us-west-2",
"profile_name": "default",
"project_name": "zappa-test",
"runtime": "python3.6",
"s3_bucket": "zappa-ds-app-0000",
"manage_roles": false,
"role_name":"zappa-datascience",
"keep_warm": false
}
}
你自己管理自己的角色。几乎可以肯定的是,你没有允许Zappa做它需要做的事情。显然,它没有权限创建它想要的日志组,它遵循基于目录名和Zappa配置文件名(
production
)的命名约定(IIRC)。在如果您删除
manage_roles
和role_name
,您将得到一个拥有Zappa所需的所有权限的用户,然后是一些权限。然后,您可以开始删除它们,直到您有一个最小的需求集。在经过一番反复试验,我发现以下是基本应用程序的最佳最小值设置。在
Lambda还需要能够假定这个配置文件才能运行。因此,您还必须编辑您的信任关系:
^{pr2}$如果你要和数据库服务器对话,一定要分配专有网络和安全组。在
已解决此问题,API网关没有创建日志组,因为它没有足够的权限。我添加了在AWS API Gateway>;settings“CloudWatch log role ARN”中创建的zappa角色。在
相关问题 更多 >
编程相关推荐