I have a problem while using the Serverless framework to deploy my stack to AWS.
I’m running this serverless deploy --stage tst --region eu-west-3 --verbose
Then 2 of my functions get stuck in “CREATE_IN_PROGRESS” then 1 hour later, I have a “UPDATED_FAILED_ROLLBACK_IN_PROGRESS” and “UPDATED_FAILED_ROLLBACK_COMPLETED” status.
CREATE_IN_PROGRESS - Custom::S3 - MyFunctionDataListenerLambdaCustomS31
CREATE_IN_PROGRESS - Custom::S3 - MyFunctionData2ListenerLambdaS31
Here is one of my yaml function definition :
MyFunctionDataListenerLambda:
name: myapp-${sls:stage}-entry-data-listener
description: 'Triggered by S3 event and start a new step function execution'
handler: src/features/entry/infrastructure/lambda/myapp-files-listener/handler.handle
role: MyAppDataListenerLambdaRole
layers:
- ${ssm:/${sls:stage}/utils-lambda-layer-arn}
events:
- s3:
bucket: myapp-${sls:stage}-data
event: s3:ObjectCreated:*
existing: true
forceDeploy: true
rules:
- prefix: xxx/
- suffix: .csv
environment:
ONE: ${self:custom.redshift.stage.${sls:stage}}
TWO: myapp-${self:custom.redshift.stage.${sls:stage}}-redshift-cluster
THREE: myapp
FOUR: ${self:custom.redshift.stage.${sls:stage}}_myapp
FIVE: arn:aws:states:${aws:region}:${aws:accountId}:stateMachine:myapp-${sls:stage}-workflow
SIX: myapp-${sls:stage}-myapp/data
The other function is almost identical
So this problem occurs when I put the node “events”
- s3:
bucket: myapp-${sls:stage}-data
event: s3:ObjectCreated:*
existing: true
forceDeploy: true
rules:
- prefix: xxx/
- suffix: .csv`
when I remove it, everything works, the Role “MyAppDataListenerLambdaRole” is defined as follow in another file included in the serverless.yaml
Resources:
MyAppDataListenerLambdaRole:
Type: AWS::IAM::Role
Properties:
RoleName: myapp-${sls:stage}-listener-role
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service:
- lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
Policies:
- PolicyName: myapp-${sls:stage}-listener-policy
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- states:StartExecution
Resource: arn:aws:states:${aws:region}:${aws:accountId}:stateMachine:myapp-${sls:stage}-workflow
- Effect: Allow
Action:
- s3:GetObject
- s3:PutObject
- s3:ListBucket
Resource:
- arn:aws:s3:::myapp-${sls:stage}-data
- arn:aws:s3:::myapp-${sls:stage}-data/*
I tried to put in my configuration
provider:
deploymentMethod: direct # also tried with changesets still stuck
I don’t find anything useful online, this is the first time i’m writing here because I’m really stuck with that, please tell me if you need more information. The S3 bucket is created on another project with the CDK
JeanPierre is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.