我正在使用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部署项目后,该功能的MemorySize设置为512。
任何帮助,我们将不胜感激。 干杯
答案 0 :(得分:0)
看起来就在附近,您只需要进行一次小调整。我只是查看了一个拥有的SAM template.yaml
文件,并使用this nifty tool将其转换为json。
无论如何,问题似乎在于Memory
属性的值是一个字符串。删除周围的引号,就可以了。
{
"AWSTemplateFormatVersion": "2010-09-09",
"Transform": "AWS::Serverless-2016-10-31",
"Description": "Something really descriptive",
"Globals": {
"Function": {
"Timeout": 120,
"MemorySize": 256
}
},
希望这会有所帮助。