AWS::Greengrass::FunctionDefinitionVersion - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::Greengrass::FunctionDefinitionVersion

AWS::Greengrass::FunctionDefinitionVersion 资源表示 AWS IoT Greengrass 的函数定义版本。函数定义版本包含函数的列表。

注意

要创建函数定义版本,您必须指定要与此版本关联的函数定义的 ID。有关创建函数定义的信息,请参阅 AWS::Greengrass::FunctionDefinition

在创建包含要部署的函数的函数定义版本后,您必须将其添加到组版本。有关更多信息,请参阅 AWS::Greengrass::Group

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::Greengrass::FunctionDefinitionVersion", "Properties" : { "DefaultConfig" : DefaultConfig, "FunctionDefinitionId" : String, "Functions" : [ Function, ... ] } }

YAML

Type: AWS::Greengrass::FunctionDefinitionVersion Properties: DefaultConfig: DefaultConfig FunctionDefinitionId: String Functions: - Function

属性

DefaultConfig

应用到组中所有 Lambda 函数的默认配置。单独的 Lambda 函数可以覆盖这些设置。

必需:否

类型DefaultConfig

Update requires: Replacement

FunctionDefinitionId

与此版本关联的函数定义的 ID。此值是 GUID。

必需:是

类型:字符串

Update requires: Replacement

Functions

此版本中的函数。

必需:是

类型Function 的列表

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回函数定义版本的 Amazon 资源名称 (ARN),例如 arn:aws:greengrass:us-east-1:123456789012:/greengrass/definition/functions/1234a5b6-78cd-901e-2fgh-3i45j6k178l9/versions/9876ac30-4bdb-4f9d-95af-b5fdb66be1a2

For more information about using the Ref function, see Ref.

示例

函数定义版本代码段

以下代码段定义了函数定义和函数定义版本资源。函数定义版本引用函数定义并包含函数。在此示例中,在另一个堆栈中创建 Lambda 函数,并通过 ImportValue 函数引用它。

有关完整模板的示例,请参阅 AWS::Greengrass::Group 资源。

JSON

"TestFunctionDefinition": { "Type": "AWS::Greengrass::FunctionDefinition", "Properties": { "Name": "DemoTestFunctionDefinition" } }, "TestFunctionDefinitionVersion": { "Type": "AWS::Greengrass::FunctionDefinitionVersion", "Properties": { "FunctionDefinitionId": { "Fn::GetAtt": [ "TestFunctionDefinition", "Id" ] }, "DefaultConfig": { "Execution": { "IsolationMode": "GreengrassContainer" } }, "Functions": [ { "Id": "TestLambda1", "FunctionArn": { "Fn::ImportValue": "TestCanaryLambdaVersionArn" }, "FunctionConfiguration": { "Pinned": "true", "Executable": "run.exe", "ExecArgs": "argument1", "MemorySize": "512", "Timeout": "2000", "EncodingType": "binary", "Environment": { "Variables": { "variable1": "value1" }, "ResourceAccessPolicies": [ { "ResourceId": "ResourceId1", "Permission": "ro" }, { "ResourceId": "ResourceId2", "Permission": "rw" } ], "AccessSysfs": "false", "Execution": { "RunAs": { "Uid": "1", "Gid": "10" } } } } } ] } }

YAML

TestFunctionDefinition: Type: 'AWS::Greengrass::FunctionDefinition' Properties: Name: DemoTestFunctionDefinition TestFunctionDefinitionVersion: Type: 'AWS::Greengrass::FunctionDefinitionVersion' Properties: FunctionDefinitionId: !GetAtt - TestFunctionDefinition - Id DefaultConfig: Execution: IsolationMode: GreengrassContainer Functions: - Id: TestLambda1 FunctionArn: !ImportValue TestCanaryLambdaVersionArn FunctionConfiguration: Pinned: 'true' Executable: run.exe ExecArgs: argument1 MemorySize: '512' Timeout: '2000' EncodingType: binary Environment: Variables: variable1: value1 ResourceAccessPolicies: - ResourceId: ResourceId1 Permission: ro - ResourceId: ResourceId2 Permission: rw AccessSysfs: 'false' Execution: RunAs: Uid: '1' Gid: '10'

另请参阅