我正在使用 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
}
},
希望这有帮助。