amazon-web-services - 函数中未使用 MemorySize 的 AWS SAM 全局设置
问题描述
我正在使用 eclipse 创建一个无服务器应用程序。在尝试清理我的部署模板时,我正在尝试使用 Globals。但是,我发现在部署我的 Java 函数时忽略了内存大小属性。
以下是我的 SAM 模板中的一部分:
"Globals":{
"Function": {
"Tags" : {
"Client" : { "Ref": "Client"},
"Stage" : { "Ref" : "NameExt" }
},
"Runtime" : "java8",
"MemorySize" : "1024",
"Timeout" : 300,
"Environment" : {
"Variables" : {
"REGION" : { "Ref" : "AWS::Region" },
"STAGE" : { "Ref" : "NameExt" }
}
}
}
},
"Resources": {
"RunReports" : {
"Type" : "AWS::Serverless::Function",
"Properties" : {
"Handler" : "APIReports",
"FunctionName" : "RunReport",
"Policies" : [ "AmazonDynamoDBFullAccess", "AmazonS3FullAccess" ],
"Events" : {
"GetResource" : {
"Type" : "Api",
"Properties" : {
"Path" : "/commands/report",
"Method" : "Get"
}
}
}
}
},
},
部署项目时,使用eclipse,将Function的MemorySize设置为512。
任何帮助,非常感谢。干杯,
解决方案
看起来你就在那里,你只需要做一个小的调整。我刚刚查看了我拥有的一个 SAM文件,并使用这个漂亮的工具template.yaml
将其转换为 json 。
无论如何,问题似乎在于Memory
属性的值是一个字符串。去掉周围的引号,你应该没问题。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "Something really descriptive",
"Globals": {
"Function": {
"Timeout": 120,
"MemorySize": 256
}
},
希望这可以帮助。
推荐阅读
- javascript - 无法访问 for 循环中使用的链式 Promise 内的外部范围变量
- python - ListBuckets 操作:拒绝访问 - aws mfa 令牌
- typescript - 工作表 API (google apis) 返回错误“'无效授权:找不到帐户'
- python - 如何将 sql 查询转换为 Pandas Dataframe 和 PySpark Dataframe
- css - css网格两侧不寻常的空白
- inventory - Odoo 13:在过去的日期发布库存估价
- entity-framework-core - Azure 数据库在 localhost 上工作,但在与 azure 服务应用程序一起使用时不能
- python - 在 Python 中修改 txt 文件行的最佳方法是什么
- vim - VIM 中的 grep 在 vim 中显示结果之前打开带有结果的终端
- r - 使用 group_by 维护时间序列的顺序