OnFailure
A destination for events that failed processing.
Syntax
To declare this entity in your AWS Serverless Application Model (AWS SAM) template, use the following syntax.
YAML
Destination:
String
Type:String
Properties
-
Destination
-
The Amazon Resource Name (ARN) of the destination resource.
Type: String
Required: Conditional
AWS CloudFormation compatibility: This property is similar to the
OnFailure
property of anAWS::Lambda::EventInvokeConfig
resource. SAM will add any necessary permissions to the auto-generated IAM Role associated with this function to access the resource referenced in this property.Additional notes: If the type is Lambda/EventBridge, Destination is required.
-
Type
-
Type of the resource referenced in the destination. Supported types are
SQS
,SNS
,Lambda
, andEventBridge
.Type: String
Required: No
AWS CloudFormation compatibility: This property is unique to AWS SAM and doesn't have an AWS CloudFormation equivalent.
Additional notes: If the type is SQS/SNS and the
Destination
property is left blank, then the SQS/SNS resource is auto generated by SAM. To reference the resource, use
for SQS or<function-logical-id>
.DestinationQueue
for SNS. If the type is Lambda/EventBridge,<function-logical-id>
.DestinationTopicDestination
is required.
Examples
EventInvoke Configuration Example with SQS and Lambda destinations
In this example no Destination is given for the SQS OnSuccess configuration, so SAM implicitly creates a SQS queue and adds any necessary permissions. Also for this example, a Destination for a Lambda resource declared in the template file is specified in the OnFailure configuration, so SAM adds the necessary permissions to this Lambda function to call the destination Lambda function.
YAML
EventInvokeConfig: DestinationConfig: OnSuccess: Type: SQS OnFailure: Type: Lambda Destination: !GetAtt DestinationLambda.Arn # Arn of a Lambda function declared in the template file.
EventInvoke Configuration Example with SNS destination
In this example a Destination is given for an SNS topic declared in the template file for the OnSuccess configuration.
YAML
EventInvokeConfig: DestinationConfig: OnSuccess: Type: SNS Destination: Ref: DestinationSNS # Arn of an SNS topic declared in the tempate file