标签: aws-lambda-containers

使用 Docker 容器映像在本地测试 AWS lambda

我一直很难让这件事正常工作我试图在本地调用在 docker 容器上运行的 Lambda,但我遇到了以下问题

Docker 文件

FROM public.ecr.aws/lambda/python:3.8


COPY myfunction.py ./

CMD ["myfunction.lambda_handler"]

Run Code Online (Sandbox Code Playgroud)

Python 文件 myfunction.py

import json
import sys

def lambda_handler(event, context):
    print("Hello AWS!")
    print("event = {}".format(event))
    return {
        'statusCode': 200,
    }
Run Code Online (Sandbox Code Playgroud)

步骤1:

FROM public.ecr.aws/lambda/python:3.8


COPY myfunction.py ./

CMD ["myfunction.lambda_handler"]

Run Code Online (Sandbox Code Playgroud)

输出

C:\Users\s.shah\IdeaProjects\YoutubeVideos\Learn>docker build --tag custom .
[+] Building 0.5s (7/7) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                            0.0s
 => => transferring dockerfile: 31B                                                                                                                                                                                                                                                                                                                             0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                               0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                 0.0s
 => [internal] load …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda aws-lambda-layers aws-lambda-containers

12
推荐指数
1
解决办法
1万
查看次数

是否可以在AWS中为Lambda函数配置可用区(AZ)?

我们知道一个区域中有多个可用区,是否可以在该区域的特定可用区中部署/创建 Lambda 函数,或者在特定区域的任何可用区中随机创建 Lambda 函数?

amazon-web-services aws-lambda aws-lambda-containers

6
推荐指数
2
解决办法
6232
查看次数

Lambda Docker 映像未运行

我在尝试安装 Snowflake python 连接器时经历了一段非常糟糕的时光。这是一个令人沮丧的事情,但我终于成功地使用完整的 Ubuntu 基础 Docker 镜像来安装它。但我现在不知道如何让 AWS lambda 包装器工作。

\n

项目结构。

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Dockerfile\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 app.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 entry.sh\n
Run Code Online (Sandbox Code Playgroud)\n

入口.sh

\n
#!/bin/sh\nif [ -z "${AWS_LAMBDA_RUNTIME_API}" ]; then\n\n    exec /usr/bin/aws-lambda-rie /usr/local/bin/python3 -m awslambdaric $1\nelse\n    exec /usr/local/bin/python3 -m awslambdaric $1\nfi\n
Run Code Online (Sandbox Code Playgroud)\n

Dockerfile

\n
ARG FUNCTION_DIR="/home/app/"\n\nFROM ubuntu:20.04\nRUN apt-get update && apt-get install -y \\\n    python3 \\\n    python3-pip\nARG FUNCTION_DIR\nRUN mkdir -p ${FUNCTION_DIR}\nRUN pip install -U wheel pip --target ${FUNCTION_DIR}\nRUN pip install snowflake-connector-python==2.7.1 --target ${FUNCTION_DIR}\nRUN pip install awslambdaric --target ${FUNCTION_DIR}\nWORKDIR ${FUNCTION_DIR}\nADD …
Run Code Online (Sandbox Code Playgroud)

python-3.x docker aws-lambda aws-lambda-containers snowflake-connector

5
推荐指数
1
解决办法
1104
查看次数

SAM 应用程序中的 PackageType: Image 和 build --use-container 之间有什么区别?

PackageType: image似乎需要一个 Dockerfile (查看 hello-world 示例)以及ImageUriandMetadata 它也不希望我使用Runtime, Handler, Layers(甚至不使用层)

build --use-container似乎不需要任何东西。它是否从Runtime: nodejs14.x-v1

在文档中我没有看到任何内容

当我谷歌时,有大量的文档和资源,但没有相关的

我真的很想知道,因为我现在正处于构建管道阶段。我让它在单阶段上工作得很好,现在想使用多阶段多帐户,根据我的阅读,建议使用图像。

我注意到当前的管道确实有--use-container,但我的PackageTypezip,并且在我构建它(使用sam pipeline --bootstrap)时的某个时刻,它询问我是否有任何函数使用图像。我想让我的多阶段/账户一来回答Y

它可能不相关,但这也是我计划为每个帐户使用环境变量的方式,因为用于获取数据的数据库是不同的。所以我想我必须去添加--container-env-var-filegitlab-ci.yml 脚本,或者可能在samconfig.toml [dev.build.parameters][prod.build.parameters] for itsenv-prod.json` 文件中和下

amazon-web-services aws-lambda aws-sam-cli aws-sam aws-lambda-containers

5
推荐指数
1
解决办法
542
查看次数