此问题与尝试创建lambda函数的cloudformation模板有关。该模板在codecommit中,并使用codepipeline创建lambda。但是我在努力指定“ code”属性。 lambda函数的实际代码在我的代码提交存储库中。以下是AWS文档上的示例。但是下面的代码似乎是从S3存储桶中获取代码的。是否指定文件名?如果是这样的话,谢谢。
AMIIDLookup:
Type: "AWS::Lambda::Function"
Properties:
Handler: "index.handler"
Role:
Fn::GetAtt:
- "LambdaExecutionRole"
- "Arn"
Code:
S3Bucket: "lambda-functions"
S3Key: "amilookup.zip"
Runtime: "nodejs8.10"
Timeout: 25
TracingConfig:
Mode: "Active"
更多信息-这是我的cloudformation模板,该模板已推送到代码提交存储库中。 Templete和管道与内联代码完美配合。但是我不知道如何在代码提交库中指定要从文件中获取的代码。例如。如果代码在文件中-./abc/index.js
Resources:
LFVQS1:
Type: 'AWS::Lambda::Function'
Properties:
Handler: 'index.function_name**'
Role: 'arn:aws:iam::561731601292:role/service-role/mailfwd-role-m5rl5tu3'
Runtime: "nodejs8.10"
Code: {
ZipFile: "exports.wrtiteToConsole = function (event, context, callback){ console.log('Hello'); callback(null); }" }
答案 0 :(得分:0)
如果您在CodePipeline的上下文中询问(基于标记),则可以使用CloudFormation操作的ParameterOverrides配置属性来引用CodePipeline工件(存储在S3中),也可以使用S3 publish操作和参考您的CloudFormation模板中的位置。
CloudFormation操作参考:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/continuous-delivery-codepipeline-action-reference.html