AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: Serverless patterns - Lambda to SQS Resources: # Define the SQS topic MySqsQueue: Type: AWS::SQS::Queue # Define the publisher Lambda function with permissions QueuePublisherFunction: Type: AWS::Serverless::Function Properties: CodeUri: QueuePublisherFunction/ Handler: com.example.App::handleRequest Runtime: java11 Architectures: - x86_64 Timeout: 30 MemorySize: 512 Environment: Variables: JAVA_TOOL_OPTIONS: -XX:+TieredCompilation -XX:TieredStopAtLevel=1 SQSqueueName: !Ref MySqsQueue Policies: ## Read more about SAM Policy templates at: ## https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-templates.html - SQSSendMessagePolicy: QueueName: !GetAtt MySqsQueue.QueueName Outputs: QueuePublisherFunction: Description: QueuePublisherFunction function name Value: !Ref QueuePublisherFunction SQSqueueName: Description: SNS queue name Value: !GetAtt MySqsQueue.QueueName SQSqueueARN: Description: SQS queue ARN Value: !GetAtt MySqsQueue.Arn SQSqueueURL: Description: SQS queue URL Value: !Ref MySqsQueue