本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Lambda 事件源映射执行块
Lambda 事件源映射执行块允许您在恢复操作中启用或禁用 Lambda 事件源映射。事件源映射是 Lambda 资源,它们从事件源(例如亚马逊 Kinesis、Amazon DynamoDB Streams、亚马逊简单队列服务和适用于 Apache Kafka 的亚马逊托管流媒体(亚马逊 MSK)(亚马逊 MSK)中读取,并使用批量记录调用 Lambda 函数。
注意
此执行块仅管理事件源映射。此执行块不支持 Lambda 触发器,即来自 Amazon S3、Amazon 简单通知服务和亚马逊简单电子邮件服务等服务的服务端事件驱动的调用。
配置
可以将此模块配置为一次对一个事件源映射资源执行一项操作(启用或禁用)。
要配置 Lambda 事件源映射执行块,请输入以下值。
重要
在配置执行块之前,请确保计划的执行角色具有正确的 IAM 策略。有关更多信息,请参阅 Lambda 事件源映射执行区块示例策略。
步骤名称:输入名称。
步骤描述(可选):输入步骤的描述。
操作:选择在此步骤运行时是启用还是禁用事件源映射。
在以下情况下@@ 启用或禁用 Lambda 事件源映射 ARN activating/deactivating
Region-1:输入事件源映射 ARN,以便在您执行操作时执行操作。 activate/deactivateRegion-1在以下情况下@@ 启用或禁用 Lambda 事件源映射 ARN activating/deactivating
Region-2:输入事件源映射 ARN,以便在您执行操作时执行操作。 activate/deactivateRegion-2超时:输入超时值。
不雅执行:选择是否在非优雅(计划外)执行期间跳过此执行块。
然后,选择保存步骤。
事件源映射必须位于计划所针对的其中一个区域中。但是,您正在激活的区域和对事件源映射进行操作的区域不需要匹配。
例如,要在激活另一个区域时禁用停用该区域的事件处理,请执行以下操作:
激活
us-west-2时要禁用的事件源映射 ARN:.arn:aws:lambda:us-east-1:123456789012:event-source-mapping:uuid-1激活
us-east-1时要禁用的事件源映射 ARN:.arn:aws:lambda:us-west-2:123456789012:event-source-mapping:uuid-2
此块支持优雅和非优雅的执行模式。Ungraceful 模式专为计划外故障切换场景而设计。当该步骤配置为在停用区域中执行操作时,通常可以允许在此执行块上进行不雅的执行期间跳过该步骤。在故障转移期间,您可能需要停止处理停用 Region 中的事件,然后在激活 Region 时开始处理。为此,您需要按顺序设置两个 Lambda 事件源映射执行块:一个用于在停用 Region 时禁用事件源映射资源,另一个用于在激活区域时启用事件源映射资源。
工作原理
Lambda 事件源映射执行块可启用或禁用 Lambda 函数上的事件源映射。在计划执行期间调用该区块时,区域切换会调用 Lambda UpdateEventSourceMapping API 以对指定的 Lambda 事件源映射执行配置的操作(启用或禁用)。然后,区域切换会等到事件源映射达到目标状态并更新此步骤的状态(完成或因失败而暂停),然后再继续计划的下一步。如果映射已处于所需状态,则区域切换会立即将该步骤标记为完成。当包含配置为不正常执行的执行块的计划在不雅模式下运行时,该计划将跳过此步骤的执行。
在计划评估中评估的内容
当区域切换评估您的计划时,区域切换会对您的 Lambda 事件源映射执行区块配置和权限进行多项检查。区域切换可验证以下内容是否正确:
事件源映射存在于 ARN 中嵌入的区域中。
存在与事件源映射关联的 Lambda 函数。
事件源映射 ARN 的嵌入式区域是计划中配置的区域之一。
对于启用操作:Lambda 函数不受限制(预配置的并发度未设置为 0)。
对于启用操作:Lambda 函数处于活动状态。
区域切换还可以验证计划的 IAM 角色是否具有管理事件源映射所需的权限。有关区域切换执行块所需权限的更多信息,请参阅Identity-based ARC 中区域切换的策略示例。
正确的 IAM 权限对于 Lambda 事件源映射执行块的正常运行至关重要。如果其中任何一个验证失败,区域切换将返回说明存在问题的警告,并提供特定的错误消息来帮助您解决权限或配置问题。