调用定义为容器映像的函数 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

调用定义为容器映像的函数

对于定义为容器映像的 Lambda 函数,调用期间的函数行为与定义为 .zip 文件存档的函数非常相似。以下各节重点介绍了相似之处和不同之处。

函数周期

Lambda 优化新的或更新的容器映像,以便为函数接收调用做准备。优化过程可能需要几秒钟的时间。函数一直处于 Pending 状态,直到过程完成。然后函数将转换为 Active 状态。在状态为 Pending 时,您可以调用该函数,但对该函数的其他操作会失败。映像更新过程中发生的调用将运行上一个映像中的代码。

如果函数在数周内未被调用,则 Lambda 回收其优化版本,函数将转换为 Inactive 状态。要重新激活函数,必须调用它。Lambda 拒绝第一次调用,函数进入 Pending 状态,直到 Lambda 重新优化映像。然后函数返回到 Active 状态。

Lambda 定期从 Amazon Elastic Container Registry (Amazon ECR) 存储库获取关联的容器映像。如果相应的容器映像不再存在于 Amazon ECR 上,则函数将进入 Failed 状态,并且 Lambda 将对任何函数调用返回失败。

您可以使用 Lambda API 获取函数状态的相关信息。有关更多信息,请参阅 使用 Lambda API 监控函数的状态

调用函数

调用函数时,Lambda 会将容器映像部署到执行环境。Lambda 会初始化任何扩展,然后运行函数的初始化代码(主处理程序外的代码)。请注意,函数初始化持续时间包括在计费执行时间中。

随后,Lambda 通过调用函数配置(ENTRYPOINT 和 CMD 容器镜像设置)中指定的代码入口点来运行函数。

映像安全

Lambda 首次从原始源 (Amazon ECR) 下载容器映像时,容器映像将使用经过身份验证的收敛加密方法进行优化、加密和存储。解密客户数据所需的所有密钥都使用客户托管的 Amazon Key Management Service (Amazon KMS) 客户主密钥 (CMK) 进行保护。要跟踪和审计 Lambda 的 CMK 使用情况,您可以查看 Amazon CloudTrail 日志