调用定义为容器映像的函数 - 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 函数状态

调用函数

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

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

映像安全

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