From 54bb5a38a41cbb7e3b02c457c37287996c43a65e Mon Sep 17 00:00:00 2001 From: Charlie Marsh Date: Mon, 20 Jan 2025 22:40:42 -0500 Subject: [PATCH] Add invoke instructions to the AWS Lambda guide (#10805) ## Summary Closes https://github.com/astral-sh/uv/issues/10804. --- docs/guides/integration/aws-lambda.md | 80 +++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/docs/guides/integration/aws-lambda.md b/docs/guides/integration/aws-lambda.md index 61a0e7af9..2949aa5e1 100644 --- a/docs/guides/integration/aws-lambda.md +++ b/docs/guides/integration/aws-lambda.md @@ -210,6 +210,46 @@ $ aws lambda update-function-code \ --publish ``` +To test the Lambda, we can invoke it via the AWS Management Console or the AWS CLI, e.g.: + +```console +$ aws lambda invoke \ + --function-name myFunction \ + --payload file://event.json \ + --cli-binary-format raw-in-base64-out \ + response.json +{ + "StatusCode": 200, + "ExecutedVersion": "$LATEST" +} +``` + +Where `event.json` contains the event payload to pass to the Lambda function: + +```json title="event.json" +{ + "httpMethod": "GET", + "path": "/", + "requestContext": {}, + "version": "1.0" +} +``` + +And `response.json` contains the response from the Lambda function: + +```json title="response.json" +{ + "statusCode": 200, + "headers": { + "content-length": "14", + "content-type": "application/json" + }, + "multiValueHeaders": {}, + "body": "\"Hello, world!\"", + "isBase64Encoded": false +} +``` + For details, see the [AWS Lambda documentation](https://docs.aws.amazon.com/lambda/latest/dg/python-image.html). @@ -429,6 +469,46 @@ $ aws lambda update-function-code \ If your application uses a different entrypoint, you'll need to modify it in the AWS Management Console. For example, the above FastAPI application uses `app.main.handler`. +To test the Lambda, we can invoke it via the AWS Management Console or the AWS CLI, e.g.: + +```console +$ aws lambda invoke \ + --function-name myFunction \ + --payload file://event.json \ + --cli-binary-format raw-in-base64-out \ + response.json +{ + "StatusCode": 200, + "ExecutedVersion": "$LATEST" +} +``` + +Where `event.json` contains the event payload to pass to the Lambda function: + +```json title="event.json" +{ + "httpMethod": "GET", + "path": "/", + "requestContext": {}, + "version": "1.0" +} +``` + +And `response.json` contains the response from the Lambda function: + +```json title="response.json" +{ + "statusCode": 200, + "headers": { + "content-length": "14", + "content-type": "application/json" + }, + "multiValueHeaders": {}, + "body": "\"Hello, world!\"", + "isBase64Encoded": false +} +``` + ### Using a Lambda layer AWS Lambda also supports the deployment of multiple composed