Correct answer - "Fix the IAM Role" : Any Lambda function invoked asynchronously is retried twice
before the event is discarded. If the retries fail and you're unsure why, use Dead Letter Queues
(DLQ) to direct unprocessed events to an Amazon SQS queue or an Amazon SNS topic to analyze the
failure. In addition, you need to add permissions to the execution role of your Lambda function
for access to the SQS.
Incorrect:
"Use synchronous invocations instead" - When you use an AWS services as a trigger, the invocation
type is predetermined for each service. You have no control over the invocation type that these
event sources use when they invoke your Lambda function
"Use aliases instead" - By default, an alias points to a single Lambda function version or you
can have an alias shift traffic to two Lambda versions and work with SQS DLQ. Even if you did
this you will still need to add permissions to the execution role of your Lambda function
"You need to disable encryption" - There is the option to encrypt SQS messages but that does not
matter if you do not have access to another AWS service within Lambda
For more information visit