MemorySize 的 AWS SAM Global 设置未在函数中使用



我正在使用 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 将函数的内存大小设置为 512。

任何帮助,非常感谢。 干杯

看起来你差不多了,你只需要做一个小的调整。 我只是看了一下我拥有的SAMtemplate.yaml文件,并使用这个漂亮的工具将其转换为json。

无论如何,问题似乎出在Memory属性的值为字符串。 去掉周围的引号,你应该没事。

{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "Something really descriptive",
"Globals": {
"Function": {
"Timeout": 120,
"MemorySize": 256
}
},

希望这有帮助。

相关内容

  • 没有找到相关文章

最新更新