Q88 — AWS DVA-C02 第2章
第 88/100 题 | ← 返回第2章
开发人乡正在使用AWS Lambda 函数为白围到Amazon S 3存储桶的个人护料图片生成头怪。对于保存在/original /S3前缀药的个人护料图片,律自察调用Lambda 函数。开发人乡注意到某些图片导致Lambda 函数超时。开发人乡希庭通笔使用另伊个调整个人护料图片大并的Lambda 函数来实现丽退机制。据种解相远案能够以最洋的开发工作满梦这些要求?
- A. 将图像调整大小Lambda 函数设置为处理失败事件的头像生成器Lambda 函数的目标。
- B. 创建Amazon Simple Queue Service (Amazon SQS )队列。将SQS队列设置为具有头像生成器Lambda 函数失败条件的目标。配置图像调整大小Lambda 函数以从SQS队列轮询。 ✓
- C. 创建一个AWS Step Functions 状态机,该状态机调用头像生成器Lambda 函数并使用图像调整大小Lambda 函数作为后备。创建与S3存储桶中的事件匹配的Amazon EventBridge 规则以调用状态机。
- D. 创建Amazon Simple Notification Service (Amazon SNS )主题。将SNS主题设置为具有头像生成器Lambda 函数故障条件的目标。将图像调整大小Lambda 函数订阅到SNS主题。
正确答案: B. 创建Amazon Simple Queue Service (Amazon SQS )队列。将SQS队列设置为具有头像生成器Lambda 函数失败条件的目标。配置图像调整大小Lambda 函数以从SQS队列轮询。
解析
SQS队列作为中介:使用SQS队列可以作为解耦机制,将需要调整大小的图片请求进行排队。这样,即使头像生成器Lambda函数因为超时或其他原因失败,请求也不会丢失。 故障处理:将头像生成器Lambda函数设置为SQS队列的目标,意味着当Lambda函数失败时,消息将返回到队列中,等待重新处理。这样,可以确保即使出现故障,系统也能够最终完成所有的图片处理请求。 图像调整大小Lambda函数:配置此Lambda函数来轮询SQS队列。这意味着它会从队列中获取图片处理请求,并负责调整图片大小。这种设计使得系统能够有效地处理所有请求,而不会因为故障而导致数据丢失或请求被丢弃。 对比其他选项的原因: 选项 A:将图像调整大小Lambda函数设置为处理失败事件的目标,并不直接解决头像生成器Lambda函数超时的问题,也没有提供明确的排队或故障处理机制。 选项 C:虽然AWS Step Functions可以用于创建复杂的工作流,但在这种情况下可能显得过于复杂和不必要。它不如SQS那样专注于简单的队列处理和故障恢复。 选项 D:虽然SNS可以用于发布通知和事件,但它并没有提供队列的排队功能,也不适合作为故障处理的机制。 因此,选项 B 是最佳的选择,它能够有效地以最少的开发工作满足处理头像生成器Lambda函数超时的要求,并提供了可靠的故障恢复机制。