diff --git a/README.md b/README.md index 6fed5155..67c2f2fb 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The same docker image can run on AWS Lambda, Amazon EC2, AWS Fargate, and local Add one line to your Dockerfile: ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` Pre-compiled multi-arch images (x86_64 and arm64) are available at [public.ecr.aws/awsguru/aws-lambda-adapter](https://gallery.ecr.aws/awsguru/aws-lambda-adapter). [Non-AWS base images](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) may be used since the [Runtime Interface Client](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-ric) ships with the Lambda Web Adapter. @@ -41,8 +41,8 @@ Pre-compiled multi-arch images (x86_64 and arm64) are available at [public.ecr.a ### Zip Packages 1. Attach the Lambda Web Adapter layer to your function: - - x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - - arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + - x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + - arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. Set environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap` 3. Set function handler to your startup script, e.g. `run.sh` diff --git a/docs/guide/src/getting-started/docker-images.md b/docs/guide/src/getting-started/docker-images.md index 8e70bbf2..da6f78d9 100644 --- a/docs/guide/src/getting-started/docker-images.md +++ b/docs/guide/src/getting-started/docker-images.md @@ -3,7 +3,7 @@ To use Lambda Web Adapter with Docker images, package your web app in a Dockerfile and add one line to copy the adapter binary: ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` [Non-AWS base images](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html) can be used since the [Runtime Interface Client](https://docs.aws.amazon.com/lambda/latest/dg/images-create.html#images-ric) ships with the adapter. @@ -12,7 +12,7 @@ COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt ```dockerfile FROM public.ecr.aws/docker/library/node:20-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=7000 WORKDIR "/var/task" ADD src/package.json /var/task/package.json @@ -37,5 +37,5 @@ ENV AWS_LWA_PORT=3000 Pre-compiled multi-arch images (x86_64 and arm64) are available at: ``` -public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 +public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 ``` diff --git a/docs/guide/src/getting-started/quick-start.md b/docs/guide/src/getting-started/quick-start.md index 81c40cb4..3cc95b7e 100644 --- a/docs/guide/src/getting-started/quick-start.md +++ b/docs/guide/src/getting-started/quick-start.md @@ -14,7 +14,7 @@ AWS Lambda Web Adapter works with Lambda functions packaged as both Docker image Add one line to your existing Dockerfile: ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` That's it. Your web app now runs on Lambda. diff --git a/docs/guide/src/getting-started/zip-packages.md b/docs/guide/src/getting-started/zip-packages.md index 3d12c6bf..b99e57b9 100644 --- a/docs/guide/src/getting-started/zip-packages.md +++ b/docs/guide/src/getting-started/zip-packages.md @@ -10,15 +10,15 @@ AWS Lambda Web Adapter works with AWS managed Lambda runtimes via Lambda Layers. | Architecture | Layer ARN | |-------------|-----------| -| x86_64 | `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` | -| arm64 | `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` | +| x86_64 | `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` | +| arm64 | `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` | #### AWS China Regions | Region | Architecture | Layer ARN | |--------|-------------|-----------| -| cn-north-1 (Beijing) | x86_64 | `arn:aws-cn:lambda:cn-north-1:041581134020:layer:LambdaAdapterLayerX86:28` | -| cn-northwest-1 (Ningxia) | x86_64 | `arn:aws-cn:lambda:cn-northwest-1:069767869989:layer:LambdaAdapterLayerX86:28` | +| cn-north-1 (Beijing) | x86_64 | `arn:aws-cn:lambda:cn-north-1:041581134020:layer:LambdaAdapterLayerX86:30` | +| cn-northwest-1 (Ningxia) | x86_64 | `arn:aws-cn:lambda:cn-northwest-1:069767869989:layer:LambdaAdapterLayerX86:30` | ### 2. Set the Exec Wrapper @@ -42,7 +42,7 @@ Resources: Runtime: nodejs20.x Handler: run.sh Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Environment: Variables: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap diff --git a/examples/aspnet-mvc-zip/README.md b/examples/aspnet-mvc-zip/README.md index f9239e7f..579782e0 100644 --- a/examples/aspnet-mvc-zip/README.md +++ b/examples/aspnet-mvc-zip/README.md @@ -17,7 +17,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Api: Type: HttpApi diff --git a/examples/aspnet-mvc-zip/template.yaml b/examples/aspnet-mvc-zip/template.yaml index a418f9a7..7433a9f2 100644 --- a/examples/aspnet-mvc-zip/template.yaml +++ b/examples/aspnet-mvc-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Api: Type: HttpApi diff --git a/examples/aspnet-mvc/README.md b/examples/aspnet-mvc/README.md index 4293e2eb..c7b4b7b3 100644 --- a/examples/aspnet-mvc/README.md +++ b/examples/aspnet-mvc/README.md @@ -23,7 +23,7 @@ RUN dotnet publish "AspNetLambdaWebAdapter.csproj" -c Release -o /app/publish FROM base AS final ENV ASPNETCORE_URLS=http://+:8080 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] @@ -32,7 +32,7 @@ ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] Line 12 copies lambda adapter binary into /opt/extensions. This is required to run ASP.NET application on Lambda. The `ASPNETCORE_URLS` environment variable is also set to 8080. This is required for the Lambda Web Adapter to work. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/aspnet-mvc/src/Dockerfile b/examples/aspnet-mvc/src/Dockerfile index a004a653..95492774 100644 --- a/examples/aspnet-mvc/src/Dockerfile +++ b/examples/aspnet-mvc/src/Dockerfile @@ -12,7 +12,7 @@ RUN dotnet publish "AspNetLambdaWebAdapter.csproj" -c Release -o /app/publish FROM base AS final ENV ASPNETCORE_URLS=http://+: -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "AspNetLambdaWebAdapter.dll"] \ No newline at end of file diff --git a/examples/aspnet-webapi-zip/README.md b/examples/aspnet-webapi-zip/README.md index c9e999e7..081f8439 100644 --- a/examples/aspnet-webapi-zip/README.md +++ b/examples/aspnet-webapi-zip/README.md @@ -17,7 +17,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Api: Type: HttpApi diff --git a/examples/aspnet-webapi-zip/template.yaml b/examples/aspnet-webapi-zip/template.yaml index c4077a01..462a18f6 100644 --- a/examples/aspnet-webapi-zip/template.yaml +++ b/examples/aspnet-webapi-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap RUST_LOG: info Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Api: Type: HttpApi diff --git a/examples/bedrock-agent-fastapi-zip/template.yaml b/examples/bedrock-agent-fastapi-zip/template.yaml index 5671003f..6a8b1783 100644 --- a/examples/bedrock-agent-fastapi-zip/template.yaml +++ b/examples/bedrock-agent-fastapi-zip/template.yaml @@ -24,7 +24,7 @@ Resources: AWS_LWA_READINESS_CHECK_PROTOCOL: TCP PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Policies: AmazonS3ReadOnlyAccess BedrockAgentPermission: diff --git a/examples/bedrock-agent-fastapi/README.md b/examples/bedrock-agent-fastapi/README.md index 62f54508..09aa2718 100644 --- a/examples/bedrock-agent-fastapi/README.md +++ b/examples/bedrock-agent-fastapi/README.md @@ -8,7 +8,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is an Fas ```dockerfile FROM public.ecr.aws/docker/library/python:3.12.0-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 AWS_LWA_READINESS_CHECK_PROTOCOL=tcp WORKDIR /var/task COPY requirements.txt ./ @@ -20,7 +20,7 @@ CMD exec uvicorn --port=$PORT main:app Line 2 copies lambda adapter binary into /opt/extensions. This is the only change to run the FastAPI application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/bedrock-agent-fastapi/app/Dockerfile b/examples/bedrock-agent-fastapi/app/Dockerfile index e3c75217..6b853c03 100644 --- a/examples/bedrock-agent-fastapi/app/Dockerfile +++ b/examples/bedrock-agent-fastapi/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.0-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 AWS_LWA_READINESS_CHECK_PROTOCOL=tcp WORKDIR /var/task COPY requirements.txt ./ diff --git a/examples/bun-graphql-streaming-zip/template.yaml b/examples/bun-graphql-streaming-zip/template.yaml index 8744f847..a954c512 100644 --- a/examples/bun-graphql-streaming-zip/template.yaml +++ b/examples/bun-graphql-streaming-zip/template.yaml @@ -26,7 +26,7 @@ Resources: AWS_LWA_INVOKE_MODE: response_stream PORT: 3000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 - !Sub arn:aws:lambda:us-east-1:582637575117:layer:BunRuntimeArm64:1 FunctionUrlConfig: AuthType: NONE diff --git a/examples/bun-graphql-zip/template.yaml b/examples/bun-graphql-zip/template.yaml index 8006662f..64aee62b 100644 --- a/examples/bun-graphql-zip/template.yaml +++ b/examples/bun-graphql-zip/template.yaml @@ -25,7 +25,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 3000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 - !Sub arn:aws:lambda:us-east-1:582637575117:layer:BunRuntimeX64:1 Events: RootEvent: diff --git a/examples/datadog-zip/expressjs/cdk/app/cdk.ts b/examples/datadog-zip/expressjs/cdk/app/cdk.ts index 2bdb6026..db880d24 100644 --- a/examples/datadog-zip/expressjs/cdk/app/cdk.ts +++ b/examples/datadog-zip/expressjs/cdk/app/cdk.ts @@ -41,7 +41,7 @@ class LwaStack extends Stack { const lwa_lambda_layer = lambda.LayerVersion.fromLayerVersionArn( this, "lwa_lambda-layer", - "arn:aws:lambda:us-east-1:753240598075:layer:LambdaAdapterLayerX86:28", + "arn:aws:lambda:us-east-1:753240598075:layer:LambdaAdapterLayerX86:30", ); const dd_layer = lambda.LayerVersion.fromLayerVersionArn( this, diff --git a/examples/datadog/expressjs-streaming/lambda-asset/Dockerfile b/examples/datadog/expressjs-streaming/lambda-asset/Dockerfile index f61d977b..a876a2c3 100644 --- a/examples/datadog/expressjs-streaming/lambda-asset/Dockerfile +++ b/examples/datadog/expressjs-streaming/lambda-asset/Dockerfile @@ -2,7 +2,7 @@ FROM public.ecr.aws/docker/library/node:slim # APM support for responsestreaming mode requires v84+ COPY --from=public.ecr.aws/datadog/lambda-extension:84 /opt/. /opt/ -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR "/var/task" diff --git a/examples/datadog/expressjs/lambda-asset/Dockerfile b/examples/datadog/expressjs/lambda-asset/Dockerfile index 591e2678..bb80c7d2 100644 --- a/examples/datadog/expressjs/lambda-asset/Dockerfile +++ b/examples/datadog/expressjs/lambda-asset/Dockerfile @@ -1,7 +1,7 @@ FROM public.ecr.aws/docker/library/node:slim COPY --from=public.ecr.aws/datadog/lambda-extension:84 /opt/. /opt/ -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR "/var/task" diff --git a/examples/datadog/flask/lambda-asset/Dockerfile b/examples/datadog/flask/lambda-asset/Dockerfile index fdecbcd4..ca79b5b7 100644 --- a/examples/datadog/flask/lambda-asset/Dockerfile +++ b/examples/datadog/flask/lambda-asset/Dockerfile @@ -1,7 +1,7 @@ FROM public.ecr.aws/docker/library/python:slim COPY --from=public.ecr.aws/datadog/lambda-extension:84 /opt/. /opt/ -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter EXPOSE 8080 WORKDIR "/var/task" diff --git a/examples/deno-zip/README.md b/examples/deno-zip/README.md index 2c6ba17a..180917e9 100644 --- a/examples/deno-zip/README.md +++ b/examples/deno-zip/README.md @@ -19,7 +19,7 @@ We use `java11` runtime to get SnapStart support with one caveat: no runtime hoo Architectures: - x86_64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 MemorySize: 512 Environment: Variables: diff --git a/examples/deno-zip/template.yaml b/examples/deno-zip/template.yaml index aeabccd0..5211f5bf 100644 --- a/examples/deno-zip/template.yaml +++ b/examples/deno-zip/template.yaml @@ -24,7 +24,7 @@ Resources: Architectures: - x86_64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 MemorySize: 512 Environment: # More info about Env Vars: https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#environment-object Variables: diff --git a/examples/expressjs-zip/README.md b/examples/expressjs-zip/README.md index c4406988..2a32da50 100644 --- a/examples/expressjs-zip/README.md +++ b/examples/expressjs-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Adapter to run an express.js application on We add Lambda Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/expressjs-zip/template.yaml b/examples/expressjs-zip/template.yaml index 89d0bf31..085cd4d8 100644 --- a/examples/expressjs-zip/template.yaml +++ b/examples/expressjs-zip/template.yaml @@ -28,7 +28,7 @@ Resources: # Interface Emulator on 8080 during local testing. PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: RootPath: Type: Api diff --git a/examples/expressjs/README.md b/examples/expressjs/README.md index cebc4cea..34a0e1d3 100644 --- a/examples/expressjs/README.md +++ b/examples/expressjs/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is an exp ```dockerfile FROM public.ecr.aws/docker/library/node:16.13.2-stretch-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 EXPOSE 8000 WORKDIR "/var/task" @@ -24,7 +24,7 @@ CMD ["node", "index.js"] Line 2 copies lambda adapter binary into /opt/extensions. This is the only change to run the express.js application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/expressjs/app/Dockerfile b/examples/expressjs/app/Dockerfile index 383ca2b7..f1d35702 100644 --- a/examples/expressjs/app/Dockerfile +++ b/examples/expressjs/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/node:16.13.2-stretch-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter # Listen on 8000 (the app reads PORT) so it doesn't collide with SAM's Runtime # Interface Emulator on 8080 during local testing. ENV PORT=8000 diff --git a/examples/fastapi-backend-only-response-streaming/README.md b/examples/fastapi-backend-only-response-streaming/README.md index 9e1dcd09..ddc054d0 100644 --- a/examples/fastapi-backend-only-response-streaming/README.md +++ b/examples/fastapi-backend-only-response-streaming/README.md @@ -26,7 +26,7 @@ The setup allows any frontend to consume the streaming service via GET requests ```dockerfile FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . @@ -38,7 +38,7 @@ CMD ["python", "main.py"] Notice that we only need to add the second line to install Lambda Web Adapter. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/ +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/ ``` In the SAM template, we use an environment variable `AWS_LWA_INVOKE_MODE: RESPONSE_STREAM` to configure Lambda Web Adapter in response streaming mode. And adding a function url with `InvokeMode: RESPONSE_STREAM`. diff --git a/examples/fastapi-backend-only-response-streaming/app/Dockerfile b/examples/fastapi-backend-only-response-streaming/app/Dockerfile index ae8e68b9..aac245af 100644 --- a/examples/fastapi-backend-only-response-streaming/app/Dockerfile +++ b/examples/fastapi-backend-only-response-streaming/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . diff --git a/examples/fastapi-background-tasks/README.md b/examples/fastapi-background-tasks/README.md index ff4a7037..62a60fa6 100644 --- a/examples/fastapi-background-tasks/README.md +++ b/examples/fastapi-background-tasks/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a Fast ```dockerfile FROM public.ecr.aws/docker/library/python:3.12-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ @@ -22,7 +22,7 @@ CMD exec uvicorn --port=$PORT main:app Line 2 copies lambda web adapter binary into /opt/extensions. This is the change to run the FastAPI application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/fastapi-background-tasks/app/Dockerfile b/examples/fastapi-background-tasks/app/Dockerfile index 240149e1..98a4ad21 100644 --- a/examples/fastapi-background-tasks/app/Dockerfile +++ b/examples/fastapi-background-tasks/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ diff --git a/examples/fastapi-response-streaming-lmi/README.md b/examples/fastapi-response-streaming-lmi/README.md index b34656f1..21553f37 100644 --- a/examples/fastapi-response-streaming-lmi/README.md +++ b/examples/fastapi-response-streaming-lmi/README.md @@ -47,7 +47,7 @@ FastAPIFunction: AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 CapacityProviderConfig: Arn: !GetAtt LMICapacityProvider.Arn PerExecutionEnvironmentMaxConcurrency: 64 diff --git a/examples/fastapi-response-streaming-lmi/template.yaml b/examples/fastapi-response-streaming-lmi/template.yaml index 6d4e1ff5..c8a5f875 100644 --- a/examples/fastapi-response-streaming-lmi/template.yaml +++ b/examples/fastapi-response-streaming-lmi/template.yaml @@ -40,7 +40,7 @@ Resources: AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 CapacityProviderConfig: Arn: !GetAtt LMICapacityProvider.Arn PerExecutionEnvironmentMaxConcurrency: 64 diff --git a/examples/fastapi-response-streaming-zip/README.md b/examples/fastapi-response-streaming-zip/README.md index 39f8d5ca..28badfde 100644 --- a/examples/fastapi-response-streaming-zip/README.md +++ b/examples/fastapi-response-streaming-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastAPI application wi We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. @@ -30,7 +30,7 @@ This is the resource for Lambda function. The function urls's invoke mode is con AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fastapi-response-streaming-zip/template.yaml b/examples/fastapi-response-streaming-zip/template.yaml index 292ee62e..6b004c36 100644 --- a/examples/fastapi-response-streaming-zip/template.yaml +++ b/examples/fastapi-response-streaming-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fastapi-response-streaming/README.md b/examples/fastapi-response-streaming/README.md index a434f66d..1c038352 100644 --- a/examples/fastapi-response-streaming/README.md +++ b/examples/fastapi-response-streaming/README.md @@ -14,7 +14,7 @@ This function is packaged as a Docker image. Here is the content of the Dockerfi ```dockerfile FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . @@ -26,7 +26,7 @@ CMD ["python", "main.py"] Notice that we only need to add the second line to install Lambda Web Adapter. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/ +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/ ``` In the SAM template, we use an environment variable `AWS_LWA_INVOKE_MODE: RESPONSE_STREAM` to configure Lambda Web Adapter in response streaming mode. And adding a function url with `InvokeMode: RESPONSE_STREAM`. diff --git a/examples/fastapi-response-streaming/app/Dockerfile b/examples/fastapi-response-streaming/app/Dockerfile index ae8e68b9..aac245af 100644 --- a/examples/fastapi-response-streaming/app/Dockerfile +++ b/examples/fastapi-response-streaming/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . diff --git a/examples/fastapi-zip/README.md b/examples/fastapi-zip/README.md index 5852b073..06250ae9 100644 --- a/examples/fastapi-zip/README.md +++ b/examples/fastapi-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastAPI application on We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/fastapi-zip/template.yaml b/examples/fastapi-zip/template.yaml index 0074bae9..853ad556 100644 --- a/examples/fastapi-zip/template.yaml +++ b/examples/fastapi-zip/template.yaml @@ -21,7 +21,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: ApiEvent: Type: HttpApi diff --git a/examples/fastapi/README.md b/examples/fastapi/README.md index e9ff10ba..37f76554 100644 --- a/examples/fastapi/README.md +++ b/examples/fastapi/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a Fast ```dockerfile FROM public.ecr.aws/docker/library/python:3.8.12-slim-buster -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ @@ -22,7 +22,7 @@ CMD exec uvicorn --port=$PORT main:app Line 2 copies lambda web adapter binary into /opt/extensions. This is the change to run the FastAPI application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/fastapi/app/Dockerfile b/examples/fastapi/app/Dockerfile index 240149e1..98a4ad21 100644 --- a/examples/fastapi/app/Dockerfile +++ b/examples/fastapi/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ diff --git a/examples/fasthtml-response-streaming-zip/README.md b/examples/fasthtml-response-streaming-zip/README.md index cecc39d7..093ba696 100644 --- a/examples/fasthtml-response-streaming-zip/README.md +++ b/examples/fasthtml-response-streaming-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a [FastHTML](https://fas We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. @@ -30,7 +30,7 @@ This is the resource for Lambda function. The function urls's invoke mode is con AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fasthtml-response-streaming-zip/template.yaml b/examples/fasthtml-response-streaming-zip/template.yaml index 2a83ac36..c88f15be 100644 --- a/examples/fasthtml-response-streaming-zip/template.yaml +++ b/examples/fasthtml-response-streaming-zip/template.yaml @@ -22,7 +22,7 @@ Resources: AWS_LWA_INVOKE_MODE: response_stream PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/fasthtml-response-streaming/README.md b/examples/fasthtml-response-streaming/README.md index 08deb414..8999018c 100644 --- a/examples/fasthtml-response-streaming/README.md +++ b/examples/fasthtml-response-streaming/README.md @@ -14,7 +14,7 @@ This function is packaged as a Docker image. Here is the content of the Dockerfi ```dockerfile FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . @@ -26,7 +26,7 @@ CMD ["python", "main.py"] Notice that we only need to add the second line to install Lambda Web Adapter. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/ +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/ ``` In the SAM template, we use an environment variable `AWS_LWA_INVOKE_MODE: RESPONSE_STREAM` to configure Lambda Web Adapter in response streaming mode. And adding a function url with `InvokeMode: RESPONSE_STREAM`. diff --git a/examples/fasthtml-response-streaming/app/Dockerfile b/examples/fasthtml-response-streaming/app/Dockerfile index ae8e68b9..aac245af 100644 --- a/examples/fasthtml-response-streaming/app/Dockerfile +++ b/examples/fasthtml-response-streaming/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.0-slim-bullseye -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /app ADD . . diff --git a/examples/fasthtml-zip/README.md b/examples/fasthtml-zip/README.md index 164d5ad6..9e029222 100644 --- a/examples/fasthtml-zip/README.md +++ b/examples/fasthtml-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastHTML application o We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/fasthtml-zip/template.yaml b/examples/fasthtml-zip/template.yaml index 8eae71f2..c9e84027 100644 --- a/examples/fasthtml-zip/template.yaml +++ b/examples/fasthtml-zip/template.yaml @@ -21,7 +21,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: ApiEvent: Type: HttpApi diff --git a/examples/fasthtml/README.md b/examples/fasthtml/README.md index 6c46f25b..f7f348d7 100644 --- a/examples/fasthtml/README.md +++ b/examples/fasthtml/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a Fast ```dockerfile FROM public.ecr.aws/docker/library/python:3.8.12-slim-buster -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ @@ -22,7 +22,7 @@ CMD exec uvicorn --port=$PORT main:app Line 2 copies lambda web adapter binary into /opt/extensions. This is the change to run the FastHTML application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/fasthtml/app/Dockerfile b/examples/fasthtml/app/Dockerfile index 855afdb7..42e74458 100644 --- a/examples/fasthtml/app/Dockerfile +++ b/examples/fasthtml/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /var/task COPY requirements.txt ./ diff --git a/examples/fastmcp-zip/README.md b/examples/fastmcp-zip/README.md index 1eac9552..b37b9cd7 100644 --- a/examples/fastmcp-zip/README.md +++ b/examples/fastmcp-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a FastMCP server on mana We add Lambda Web Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. 4. configure `AWS_LWA_READINESS_CHECK_PATH` to `/healthz` so the adapter waits for the MCP server to be ready before forwarding requests. diff --git a/examples/fastmcp-zip/template.yaml b/examples/fastmcp-zip/template.yaml index 5afaeffb..af8a1794 100644 --- a/examples/fastmcp-zip/template.yaml +++ b/examples/fastmcp-zip/template.yaml @@ -33,7 +33,7 @@ Resources: AWS_LWA_READINESS_CHECK_PATH: /healthz AWS_LWA_READINESS_CHECK_HEALTHY_STATUS: 100-499 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 Events: ApiEvent: Type: HttpApi diff --git a/examples/fastmcp/README.md b/examples/fastmcp/README.md index cfb96e07..275fa7e6 100644 --- a/examples/fastmcp/README.md +++ b/examples/fastmcp/README.md @@ -15,7 +15,7 @@ COPY requirements.txt ./ RUN pip install --no-cache-dir --target=/var/task/deps -r requirements.txt FROM --platform=linux/amd64 public.ecr.aws/docker/library/python:3.14-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 PYTHONPATH=/var/task/deps ENV AWS_LWA_READINESS_CHECK_PATH=/healthz ENV AWS_LWA_READINESS_CHECK_HEALTHY_STATUS=100-499 @@ -28,7 +28,7 @@ CMD exec python -m uvicorn --port=$PORT app:app Line 7 copies lambda web adapter binary into /opt/extensions. This is the change to run the FastMCP application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/fastmcp/my_mcp_server/Dockerfile b/examples/fastmcp/my_mcp_server/Dockerfile index 10fcdeeb..f2d45f64 100644 --- a/examples/fastmcp/my_mcp_server/Dockerfile +++ b/examples/fastmcp/my_mcp_server/Dockerfile @@ -4,7 +4,7 @@ COPY requirements.txt ./ RUN pip install --no-cache-dir --target=/var/task/deps -r requirements.txt FROM --platform=linux/amd64 public.ecr.aws/docker/library/python:3.14-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 PYTHONPATH=/var/task/deps ENV AWS_LWA_READINESS_CHECK_PATH=/healthz ENV AWS_LWA_READINESS_CHECK_HEALTHY_STATUS=100-499 diff --git a/examples/flask-zip/README.md b/examples/flask-zip/README.md index 9468bd4c..ef2f1cc6 100644 --- a/examples/flask-zip/README.md +++ b/examples/flask-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Adapter to run an Flask application on mana We add Lambda Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/flask-zip/template.yaml b/examples/flask-zip/template.yaml index 0facc7cb..37b865a8 100644 --- a/examples/flask-zip/template.yaml +++ b/examples/flask-zip/template.yaml @@ -21,7 +21,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: ApiEvent: Type: HttpApi diff --git a/examples/flask/README.md b/examples/flask/README.md index 94c13be9..e0fe136c 100644 --- a/examples/flask/README.md +++ b/examples/flask/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a flas ```dockerfile FROM public.ecr.aws/docker/library/python:3.8.12-slim-buster -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY app.py requirements.txt ./ RUN python3.8 -m pip install -r requirements.txt @@ -20,7 +20,7 @@ CMD ["gunicorn", "-b=:8080", "-w=1", "app:app"] Line 2 copies lambda adapter binary into /opt/extensions. This is the only change to run the Flask application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/flask/app/Dockerfile b/examples/flask/app/Dockerfile index 2a39ba87..aea27b1a 100644 --- a/examples/flask/app/Dockerfile +++ b/examples/flask/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/python:3.12.1-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY app.py requirements.txt ./ RUN python -m pip install -r requirements.txt diff --git a/examples/gin-zip/template.yaml b/examples/gin-zip/template.yaml index 457d4a42..b362bae9 100644 --- a/examples/gin-zip/template.yaml +++ b/examples/gin-zip/template.yaml @@ -22,7 +22,7 @@ Resources: PORT: 8000 GIN_MODE: release Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: APIEvent: Type: HttpApi diff --git a/examples/gin/app/Dockerfile b/examples/gin/app/Dockerfile index e8e78c3f..f5b732c2 100644 --- a/examples/gin/app/Dockerfile +++ b/examples/gin/app/Dockerfile @@ -8,7 +8,7 @@ RUN go mod download RUN GOOS=linux CGO_ENABLED=0 go build -o bootstrap . FROM public.ecr.aws/docker/library/alpine:3.20 RUN apk add ca-certificates -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter COPY --from=build_base /tmp/gin/bootstrap /app/bootstrap ENV PORT=8000 GIN_MODE=release diff --git a/examples/go-http-zip/template.yml b/examples/go-http-zip/template.yml index 18a9d815..c7d8fdd0 100644 --- a/examples/go-http-zip/template.yml +++ b/examples/go-http-zip/template.yml @@ -17,7 +17,7 @@ Resources: Variables: PORT: 3000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: APIEvent: Type: HttpApi diff --git a/examples/javalin-zip/README.md b/examples/javalin-zip/README.md index a3c6411f..9a4ad1ec 100644 --- a/examples/javalin-zip/README.md +++ b/examples/javalin-zip/README.md @@ -44,7 +44,7 @@ In the configuration we have to specify the AWS Lambda adapter as a layer and co REMOVE_BASE_PATH: /v1 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 ``` ### Remove the base path diff --git a/examples/javalin-zip/template.yaml b/examples/javalin-zip/template.yaml index 983e61f5..165c4e03 100644 --- a/examples/javalin-zip/template.yaml +++ b/examples/javalin-zip/template.yaml @@ -38,8 +38,8 @@ Resources: AWS_LWA_READINESS_CHECK_PORT: 8081 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 -# - !Sub arn:aws:lambda:${AWS::Region}:753240598076:layer:LambdaAdapterLayerX86:20 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 +# - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Root: Type: HttpApi diff --git a/examples/nextjs-response-streaming/Dockerfile b/examples/nextjs-response-streaming/Dockerfile index 7a254fb5..cc5f320c 100644 --- a/examples/nextjs-response-streaming/Dockerfile +++ b/examples/nextjs-response-streaming/Dockerfile @@ -5,7 +5,7 @@ COPY . . RUN npm ci && npm run build FROM public.ecr.aws/docker/library/node:20.9.0-slim as runner -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=3000 NODE_ENV=production diff --git a/examples/nextjs-zip/template.yaml b/examples/nextjs-zip/template.yaml index 441bf869..1d902965 100644 --- a/examples/nextjs-zip/template.yaml +++ b/examples/nextjs-zip/template.yaml @@ -26,7 +26,7 @@ Resources: RUST_LOG: info PORT: 8000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: RootEvent: Type: HttpApi diff --git a/examples/nextjs/app/Dockerfile b/examples/nextjs/app/Dockerfile index e18f067f..f5f0e941 100644 --- a/examples/nextjs/app/Dockerfile +++ b/examples/nextjs/app/Dockerfile @@ -4,7 +4,7 @@ COPY . . RUN npm ci && npm run build FROM public.ecr.aws/docker/library/node:20.9.0-slim as runner -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=3000 NODE_ENV=production HOSTNAME=0.0.0.0 ENV AWS_LWA_ENABLE_COMPRESSION=true WORKDIR /app diff --git a/examples/nginx-zip/template.yaml b/examples/nginx-zip/template.yaml index f7650152..2d96755a 100644 --- a/examples/nginx-zip/template.yaml +++ b/examples/nginx-zip/template.yaml @@ -24,7 +24,7 @@ Resources: RUST_LOG: debug PORT: 8080 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:Nginx123X86:12 Events: Root: diff --git a/examples/nginx/Dockerfile b/examples/nginx/Dockerfile index 595b3346..45ccf422 100644 --- a/examples/nginx/Dockerfile +++ b/examples/nginx/Dockerfile @@ -1,6 +1,6 @@ FROM public.ecr.aws/awsguru/nginx:1.23.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter # config files ADD nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf diff --git a/examples/nginx/README.md b/examples/nginx/README.md index db5272ca..740a9a2c 100644 --- a/examples/nginx/README.md +++ b/examples/nginx/README.md @@ -14,7 +14,7 @@ a [Dockerfile](Dockerfile). ```dockerfile FROM public.ecr.aws/awsguru/nginx:1.23.2023.3.11.1 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter # config files ADD nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf @@ -28,7 +28,7 @@ EXPOSE 8080 Line 3 copies Lambda adapter binary into /opt/extensions. This is the main change to run the Nginx server on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/remix-zip/README.md b/examples/remix-zip/README.md index 09b40d42..fd1bc1f8 100644 --- a/examples/remix-zip/README.md +++ b/examples/remix-zip/README.md @@ -13,8 +13,8 @@ npx create-remix@latest --template remix-run/remix/templates/express We add Lambda Adapter layer to the function and configure wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/remix-zip/template.yaml b/examples/remix-zip/template.yaml index fc6daf6d..087a9d90 100644 --- a/examples/remix-zip/template.yaml +++ b/examples/remix-zip/template.yaml @@ -26,7 +26,7 @@ Resources: RUST_LOG: info PORT: 3000 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: HttpEvents: Type: HttpApi diff --git a/examples/remix/Dockerfile b/examples/remix/Dockerfile index a76ca66a..06c1ecc6 100644 --- a/examples/remix/Dockerfile +++ b/examples/remix/Dockerfile @@ -4,7 +4,7 @@ ADD . . RUN cd remix-app && npm install && npm run build && npm prune --omit=dev FROM public.ecr.aws/docker/library/node:20-bookworm-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR "/var/task" COPY --from=builder /var/task/remix-app/build /var/task/build COPY --from=builder /var/task/remix-app/node_modules /var/task/node_modules diff --git a/examples/remix/README.md b/examples/remix/README.md index 45ea5e26..f15362d5 100644 --- a/examples/remix/README.md +++ b/examples/remix/README.md @@ -21,7 +21,7 @@ ADD . . RUN cd remix-app && npm install && npm run build && npm prune --omit=dev FROM public.ecr.aws/docker/library/node:20-bookworm-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR "/var/task" COPY --from=builder /var/task/remix-app/build /var/task/build COPY --from=builder /var/task/remix-app/node_modules /var/task/node_modules diff --git a/examples/rust-actix-web-zip/template.yaml b/examples/rust-actix-web-zip/template.yaml index a8aad45a..d089ae81 100644 --- a/examples/rust-actix-web-zip/template.yaml +++ b/examples/rust-actix-web-zip/template.yaml @@ -22,7 +22,7 @@ Resources: Architectures: - arm64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 Events: HttpEvents: Type: HttpApi # More info about API Event Source: https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#api diff --git a/examples/rust-axum-zip/template.yaml b/examples/rust-axum-zip/template.yaml index 45d75620..2379cf0a 100644 --- a/examples/rust-axum-zip/template.yaml +++ b/examples/rust-axum-zip/template.yaml @@ -20,7 +20,7 @@ Resources: Architectures: - arm64 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30 Events: Root: Type: HttpApi # More info about API Event Source: https://github.com/aws/serverless-application-model/blob/master/versions/2016-10-31.md#api diff --git a/examples/sinatra/README.md b/examples/sinatra/README.md index c2417a33..8598bb05 100644 --- a/examples/sinatra/README.md +++ b/examples/sinatra/README.md @@ -9,7 +9,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is a Sina ```dockerfile FROM public.ecr.aws/docker/library/ruby:3.3 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY Gemfile Gemfile.lock ./ RUN bundle install diff --git a/examples/sinatra/app/Dockerfile b/examples/sinatra/app/Dockerfile index c3b2f3ed..eb99882e 100644 --- a/examples/sinatra/app/Dockerfile +++ b/examples/sinatra/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/ruby:3.3 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter WORKDIR /var/task COPY ./src ./ RUN bundle install diff --git a/examples/sls/nestjs/Dockerfile b/examples/sls/nestjs/Dockerfile index 21b5293c..d9047144 100644 --- a/examples/sls/nestjs/Dockerfile +++ b/examples/sls/nestjs/Dockerfile @@ -7,7 +7,7 @@ COPY . . RUN pnpm install && pnpm run build FROM public.ecr.aws/docker/library/node:18.19-slim as runner -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8080 NODE_ENV=production ENV AWS_LWA_ENABLE_COMPRESSION=true diff --git a/examples/springboot-response-streaming-zip/README.md b/examples/springboot-response-streaming-zip/README.md index 95aa7dd4..be252e71 100644 --- a/examples/springboot-response-streaming-zip/README.md +++ b/examples/springboot-response-streaming-zip/README.md @@ -31,7 +31,7 @@ In the configuration we have to specify the AWS Lambda adapter as a layer and co AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap AWS_LWA_INVOKE_MODE: response_stream Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 ``` In this template, we enable SnapStart for this function. SnapStart drastically reduces cold start time for Java functions using Firecracker MicroVM snapshotting technology. Read more about SnapStart [here](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html). diff --git a/examples/springboot-response-streaming-zip/template.yaml b/examples/springboot-response-streaming-zip/template.yaml index 6331e75e..ff30c888 100644 --- a/examples/springboot-response-streaming-zip/template.yaml +++ b/examples/springboot-response-streaming-zip/template.yaml @@ -28,7 +28,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap AWS_LWA_INVOKE_MODE: response_stream Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE InvokeMode: RESPONSE_STREAM diff --git a/examples/springboot-zip/README.md b/examples/springboot-zip/README.md index 1c892519..aec97ba3 100644 --- a/examples/springboot-zip/README.md +++ b/examples/springboot-zip/README.md @@ -31,7 +31,7 @@ In the configuration we have to specify the AWS Lambda adapter as a layer and co REMOVE_BASE_PATH: /v1 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 ``` In this template, we enable SnapStart for this function. SnapStart drastically reduces cold start time for Java functions using Firecracker MicroVM snapshotting technology. Read more about SnapStart [here](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html). diff --git a/examples/springboot-zip/template.yaml b/examples/springboot-zip/template.yaml index 3f215156..cd1592b7 100644 --- a/examples/springboot-zip/template.yaml +++ b/examples/springboot-zip/template.yaml @@ -28,7 +28,7 @@ Resources: REMOVE_BASE_PATH: /v1 AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 Events: Root: Type: HttpApi diff --git a/examples/springboot/README.md b/examples/springboot/README.md index 268a4d39..5284e2dc 100644 --- a/examples/springboot/README.md +++ b/examples/springboot/README.md @@ -16,7 +16,7 @@ COPY pom.xml ./ RUN mvn -q clean package FROM public.ecr.aws/docker/library/amazoncorretto:8u322-al2 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /opt COPY --from=build-image /task/target/petstore-0.0.1-SNAPSHOT.jar /opt @@ -26,7 +26,7 @@ CMD ["java", "-jar", "petstore-0.0.1-SNAPSHOT.jar", "--server.port=${PORT}"] Line 7 copies lambda adapter binary to /opt/extensions. This is the only change to run the Spring Boot application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Remove the base path diff --git a/examples/springboot/app/Dockerfile b/examples/springboot/app/Dockerfile index 2e3e05c9..263f4479 100644 --- a/examples/springboot/app/Dockerfile +++ b/examples/springboot/app/Dockerfile @@ -5,7 +5,7 @@ COPY pom.xml ./ RUN mvn -q clean package FROM public.ecr.aws/docker/library/amazoncorretto:8u322-al2 -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 WORKDIR /opt COPY --from=build-image /task/target/petstore-0.0.1-SNAPSHOT.jar /opt diff --git a/examples/sqs-expressjs/README.md b/examples/sqs-expressjs/README.md index ba04c39f..56033ef9 100644 --- a/examples/sqs-expressjs/README.md +++ b/examples/sqs-expressjs/README.md @@ -10,7 +10,7 @@ The top level folder is a typical AWS SAM project. The `app` directory is an exp ```dockerfile FROM public.ecr.aws/docker/library/node:20-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 AWS_LWA_READINESS_CHECK_PROTOCOL=tcp WORKDIR "/var/task" ADD src/package.json /var/task/package.json @@ -23,7 +23,7 @@ CMD ["node", "index.js"] Line 2 copies lambda adapter binary into /opt/extensions. This is the only change to run the express.js application on Lambda. ```dockerfile -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ``` ## Pre-requisites diff --git a/examples/sqs-expressjs/app/Dockerfile b/examples/sqs-expressjs/app/Dockerfile index 57620a29..193a5a70 100644 --- a/examples/sqs-expressjs/app/Dockerfile +++ b/examples/sqs-expressjs/app/Dockerfile @@ -1,5 +1,5 @@ FROM public.ecr.aws/docker/library/node:20-slim -COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.0.1 /lambda-adapter /opt/extensions/lambda-adapter +COPY --from=public.ecr.aws/awsguru/aws-lambda-adapter:1.1.0 /lambda-adapter /opt/extensions/lambda-adapter ENV PORT=8000 AWS_LWA_READINESS_CHECK_PROTOCOL=tcp WORKDIR "/var/task" ADD src/package.json /var/task/package.json diff --git a/examples/sveltekit-ssr-zip/README.md b/examples/sveltekit-ssr-zip/README.md index 749801c1..ce29e6bd 100644 --- a/examples/sveltekit-ssr-zip/README.md +++ b/examples/sveltekit-ssr-zip/README.md @@ -7,8 +7,8 @@ This example shows how to use Lambda Web Adapter to run a [server side rendered Add the Lambda Web Adapter layer to the function and configure the wrapper script. 1. attach Lambda Adapter layer to your function. This layer contains the Lambda Adapter binary and a wrapper script. - 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28` - 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:28` + 1. x86_64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30` + 2. arm64: `arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerArm64:30` 2. configure Lambda environment variable `AWS_LAMBDA_EXEC_WRAPPER` to `/opt/bootstrap`. This is a wrapper script included in the layer. 3. set function handler to a startup command: `run.sh`. The wrapper script will execute this command to boot up your application. diff --git a/examples/sveltekit-ssr-zip/template.yaml b/examples/sveltekit-ssr-zip/template.yaml index 321d78ae..adb1b7d6 100644 --- a/examples/sveltekit-ssr-zip/template.yaml +++ b/examples/sveltekit-ssr-zip/template.yaml @@ -25,7 +25,7 @@ Resources: AWS_LAMBDA_EXEC_WRAPPER: /opt/bootstrap PORT: 8080 Layers: - - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:28 + - !Sub arn:aws:lambda:${AWS::Region}:753240598075:layer:LambdaAdapterLayerX86:30 FunctionUrlConfig: AuthType: NONE Metadata: