[英]Is there a way to create aws lambda execution role with cloudformation?
[英]How to attach an EXISTING Role in my aws account to aws componennt/Lambda Funtion using CLOUDFORMATION
嗨 AWS Cloudformation 伙計們!
我需要將現有角色附加到我正在創建的 lambda function。
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31
Parameters:
LambdaRoleName:
Default: ExistingRoleCreatedInAwsAccount
Type: String
Resources:
LambdaFunction:
Type: AWS::Lambda::Function
Properties:
Runtime: python3.9
Timeout: 5
Handler: lambda_function.handler
Role: !Ref ExistingRoleCreatedInAwsAccount
Code:
S3Bucket: 'lambda-bucket-abi'
S3Key: 'lambdaupload.zip'
ScheduledRule:
Type: AWS::Events::Rule
Properties:
Description: "ScheduledRule"
ScheduleExpression: "rate(5 minutes)"
State: "ENABLED"
Targets:
- Arn:
Fn::GetAtt:
- "LambdaFunction"
- "Arn"
Id: "TargetFunctionV1"
PermissionForEventsToInvokeLambda:
Type: AWS::Lambda::Permission
Properties:
FunctionName: !Ref "LambdaFunction"
Action: "lambda:InvokeFunction"
Principal: "events.amazonaws.com"
SourceArn:
Fn::GetAtt:
- "ScheduledRule"
- "Arn"
提前致謝!
你似乎在正確的軌道上,出了什么問題?
您的參數稱為“LambdaRoleName”。 請注意,它應該是您傳遞的 ARN 角色。
因此,當您部署堆棧時,將角色 arn 傳遞給參數:
aws cloudformation deploy --template-file your-template.yaml --stack-name your-stack-name --parameter-overrides LambdaRoleName=arn:aws:iam::123456789012:role/your-role --region eu-west-1
或將默認值更改為角色 ARN:
Parameters:
LambdaRoleName:
Default: arn:aws:iam::123456789012:role/your-role
Type: String
它應該是:
Role: !Ref LambdaRoleName
而不是
Role: !Ref ExistingRoleCreatedInAwsAccount
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.