【发布时间】:2021-04-11 21:41:14
【问题描述】:
现在,我们在 CloudFormation 模板中创建了一些 lambda 函数,然后使用多个 Cloudformation 模板来执行自动化任务,以便单击部署我们的产品堆栈。下面是 CF lambda 资源的示例 CF 模板。
HelmLambda:
DependsOn: [ LambdaSGCleanup ]
Type: AWS::Lambda::Function
Properties:
Handler: lambda_function.lambda_handler
MemorySize: 512
Role: !Ref EKSProvisionRoleArn
Runtime: python3.7
Timeout: 900
Layers: [!Ref KubectlLayer, !Ref HelmLayer, !Ref CrhelperLayer]
Code:
S3Bucket: !Ref 'BucketName'
S3Key: !Sub '${KeyPrefix}functions/packages/Helm/lambda.zip'
HelmLayer:
Type: AWS::Lambda::LayerVersion
Properties:
Content:
S3Bucket: !Ref 'BucketName'
S3Key: !Sub '${KeyPrefix}functions/packages/helmLayer/lambda.zip'
在上面的 lambda 函数中,我们有两个依赖项。一种是 IAM 角色和层 ARN。在运行时创建的 IAM 角色和层 ARN。
现在我们想将我们的产品放在 AWS-Marketplace 上,我们了解到 AWS-Marketplace 指南不支持创建上述 lambda 函数。
我们正在考虑将我们的 lambda 函数转换为 AWS SAM。但我们无法弄清楚如何使用在使用 AWS SAM 部署 CF 堆栈期间在运行时创建的 IAM 角色和 Layer Arn 并创建 lambda 函数。
我们将非常感谢您对此提供任何帮助或指导。
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-cloudformation aws-sam aws-lambda-layers