AWS Javascript SDK:Greengrass createFunctionDefinition
AWS Javascript SDK : Greengrass createFunctionDefinition
格式化我的参数
但是无论出于何种原因,它在 "Execution" 以及 DefaultConfig
时都会给我一个关键错误
Response:
Request ID:
"3ed83472-39af-493b-9df7-7f82d2f14636"
Function Logs:
r: Unexpected key \'Execution\' found in params.InitialVersion.Functions[0].FunctionConfiguration.Environment',
code: 'MultipleValidationErrors',
errors:
[ { UnexpectedParameter: Unexpected key 'DefaultConfig' found in params.InitialVersion
at ParamValidator.fail (/var/runtime/node_modules/aws-
和代码
GG.createFunctionDefinition({
InitialVersion: {
DefaultConfig: {
Execution: {
IsolationMode: "NoContainer"}
},
Functions: [
{
FunctionArn: "arn:aws:lambda:us-west-2:644226108543:function:SahmCumminsTelemetryTest:1",
FunctionConfiguration: {
MemorySize: 524288,
Pinned: true,
Timeout: 600,
Environment: {
AccessSysfs: false,
Execution: {
IsolationMode: "NoContainer",
RunAs: {
Gid: 0,
Uid: 0
}
}
}
},
Id: "function_definition",
},
],
},
Name: "function_definition",
}, function (err, data) {
if (err) {
console.log(err, err.stack);
}
else {
funcArn = data.LatestVersionArn;
};
我认为问题在于配置数据指定了两个相互排斥的选项。指定了一个内存大小值,它说它应该使用 "NoContainer"。当 Greengrass 容器未使用时,内存大小不是有效选项。
尝试删除内存大小,看看是否可以解决问题。
我在 Github "scrubs" 上分享的配置代码在 NoContainer 设置为解决此问题时起作用。清理过程是将内存大小设置为 NULL,因此当它序列化为 JSON 时,该字段丢失。
但是无论出于何种原因,它在 "Execution" 以及 DefaultConfig
时都会给我一个关键错误Response:
Request ID:
"3ed83472-39af-493b-9df7-7f82d2f14636"
Function Logs:
r: Unexpected key \'Execution\' found in params.InitialVersion.Functions[0].FunctionConfiguration.Environment',
code: 'MultipleValidationErrors',
errors:
[ { UnexpectedParameter: Unexpected key 'DefaultConfig' found in params.InitialVersion
at ParamValidator.fail (/var/runtime/node_modules/aws-
和代码
GG.createFunctionDefinition({
InitialVersion: {
DefaultConfig: {
Execution: {
IsolationMode: "NoContainer"}
},
Functions: [
{
FunctionArn: "arn:aws:lambda:us-west-2:644226108543:function:SahmCumminsTelemetryTest:1",
FunctionConfiguration: {
MemorySize: 524288,
Pinned: true,
Timeout: 600,
Environment: {
AccessSysfs: false,
Execution: {
IsolationMode: "NoContainer",
RunAs: {
Gid: 0,
Uid: 0
}
}
}
},
Id: "function_definition",
},
],
},
Name: "function_definition",
}, function (err, data) {
if (err) {
console.log(err, err.stack);
}
else {
funcArn = data.LatestVersionArn;
};
我认为问题在于配置数据指定了两个相互排斥的选项。指定了一个内存大小值,它说它应该使用 "NoContainer"。当 Greengrass 容器未使用时,内存大小不是有效选项。
尝试删除内存大小,看看是否可以解决问题。
我在 Github "scrubs" 上分享的配置代码在 NoContainer 设置为解决此问题时起作用。清理过程是将内存大小设置为 NULL,因此当它序列化为 JSON 时,该字段丢失。