在AWS lambda中,如何从其中访问已启动容器的image_id或标签



我有一个使用SAM构建的AWS lambda。我想将lambda的支持docker映像的id(或者,如果更容易的话,标记(传播到lambda运行时函数。

我该怎么做?

注意:我指的是映像id和NOT容器id——如果您在本地调用docker image ls,您会看到这些。获取容器id/主机名很容易:D

我试图在template.yaml中声明一个参数,并以这种方式将其作为环境变量。我更喜欢在template.yaml中最多定义一次值,最好是自动填充它,尽管我不知道那里的最佳实践。目的是避免人为失误。除非迫不得已,否则我不想在命令行上传递值。

如果获取图像id太难,那么作为后备,DockerTag就可以了。再说一次,我不想在template.yaml中的多个位置出现这种情况。谢谢!

未回答的类似问题:从容器中查找容器的图像ID

运行sam package后,启动的图像URI在打包的模板文件中可用,因此可以从中提取标记。

例如,如果使用YAML:

grep -w ImageUri packaged.yaml | cut -d: -f3

这将在打包的模板(看起来像ImageUri: 12345.dkr.ecr.us-east-1.amazonaws.com/myrepo:mylambda-123abc-latest(中找到URI,并获取第二个:之后的标签。

也就是说,我认为这不是一个好的解决方案。我希望有一种方法可以使用SAM CLI。

最新更新