I am trying to deploy my lambdas to AWS, but getting this error.
An error occurred: AssignOrderLambdaFunction - Unable to retrieve TopicName attribute for AWS::SNS::Topic, with error message Rate exceeded (Service: Sns, Status Code: 400, Request ID: 79f1648a-90e0-5ebf-bb34-3f0993f6ca08).
I did not change anything in the serverless.yml. I have used this serverless.yml for over two years and have had no issues. Please help if you have any info about this error.
BTW I am not an AWS expert, just using it
Here are some details:
- I am using Lambda with NodeJs (Typescript)
- Using SNS and SQS to pass events across my services.
My serverless.yml structure:
service:
name: myService
provider:
name: aws
runtime: nodejs14.x
memorySize: 1024
region: us-west-1
tracing:
apiGateway: true
lambda: true
excludeDevDependencies: true
iamRoleStatements:
- Effect: Allow
Action:
- sns:Publish
Resource:
- Fn::Join:
- ''
- - 'arn:aws:sns:'
- Ref: AWS::Region
- ':'
- Ref: AWS::AccountId
- ':'
- Fn::GetAtt:
- orderPaidTopic
- TopicName
environment:
ORDER_PAID_TOPIC: ${self:custom.topicsArn.orderPaid}
custom:
topics:
orderPaid: ${self:service.name}-orderPaid-${self:custom.stage}
topicsArn:
orderPaid:
Fn::Join:
- ''
- - 'arn:aws:sns:'
- Ref: AWS::Region
- ':'
- Ref: AWS::AccountId
- ':'
- Fn::GetAtt:
- orderPaidTopic
- TopicName
awsAccountId: ${ssm:${self:custom.stage}.aws.accountId~true}
acmCertificateName: ${ssm:${self:custom.stage}.domains.api.acm~true}
awsLambdaAuthorizer: ${ssm:${self:custom.stage}.aws.lambda.authorizer~true}
resources:
Resources:
orderPaidTopic:
Type: AWS::SNS::Topic
Properties:
TopicName: ${self:custom.topics.orderPaid}