You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过REST API管理AWS Lambda函数及相关技术细节问询

Hey there! Let's walk through exactly how to handle Lambda operations via REST API—no console or CLI required. I'll cover the base endpoints, critical auth notes, and concrete examples for each action you asked about.

AWS Lambda REST API: Core Operations Guide

Base Host & Path Structure

Lambda's REST API is region-specific, so your base host will follow this format:
lambda.<your-aws-region>.amazonaws.com

All operations use the versioned base path: /2015-03-31/
So full endpoints are built like: https://lambda.us-east-1.amazonaws.com/2015-03-31/<operation-path>

Critical Authentication Note

Every request must be signed with AWS Signature Version 4 (SigV4). This means you'll need to generate a signature using your AWS access key/secret key (or IAM role credentials if calling from within AWS services). Manually crafting this signature is tedious—consider using AWS SDK helper functions or third-party SigV4 libraries to avoid mistakes.


1. List All Lambda Functions

Retrieve a list of all functions in your account/region.

  • Endpoint: GET /2015-03-31/functions/
  • Example Request (cURL):
curl -X GET \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/ \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "X-Amz-Date: 20240520T120000Z"
  • Response: Returns an array of function objects with details like ARN, runtime, handler, and timeout.

2. Create a Lambda Function

Create a new function with code and configuration.

  • Endpoint: POST /2015-03-31/functions/
  • Example Request (cURL):
curl -X POST \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/ \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Date: 20240520T120000Z" \
  -d '{
    "FunctionName": "MyTestFunction",
    "Runtime": "python3.12",
    "Role": "arn:aws:iam::123456789012:role/lambda-execution-role",
    "Handler": "lambda_function.lambda_handler",
    "Code": {
      "ZipFile": "BASE64_ENCODED_ZIP_OF_YOUR_CODE"
    },
    "Description": "Test function created via REST API",
    "Timeout": 30
  }'
  • Notes:
    • Use S3Bucket and S3Key in the Code object instead of ZipFile if your code is stored in S3.
    • Ensure your IAM role has the lambda.amazonaws.com trust policy and necessary execution permissions.

3. Invoke a Lambda Function

Run a function synchronously or asynchronously.

Synchronous Invocation (Default)

Returns the function's output immediately.

  • Endpoint: POST /2015-03-31/functions/<FunctionName>/invocations
  • Example Request:
curl -X POST \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/MyTestFunction/invocations \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Date: 20240520T120000Z" \
  -d '{"key1": "value1", "key2": "value2"}'

Asynchronous Invocation

Queues the function for execution (returns 202 Accepted immediately).

  • Add the X-Amz-Invocation-Type: Event header to the request:
curl -X POST \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/MyTestFunction/invocations \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-invocation-type, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Date: 20240520T120000Z" \
  -H "X-Amz-Invocation-Type: Event" \
  -d '{"key1": "value1", "key2": "value2"}'
  • Notes: Check CloudWatch Logs or configured destinations (SQS, SNS, etc.) for execution results.

4. Update a Lambda Function

Update either the function's configuration or code separately.

Update Configuration

Change settings like timeout, description, or IAM role.

  • Endpoint: PUT /2015-03-31/functions/<FunctionName>/configuration
  • Example Request:
curl -X PUT \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/MyTestFunction/configuration \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Date: 20240520T120000Z" \
  -d '{
    "Timeout": 60,
    "Description": "Updated test function via REST API"
  }'

Update Code

Push new code to an existing function.

  • Endpoint: PUT /2015-03-31/functions/<FunctionName>/code
  • Example Request:
curl -X PUT \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/MyTestFunction/code \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "Content-Type: application/json" \
  -H "X-Amz-Date: 20240520T120000Z" \
  -d '{
    "ZipFile": "NEW_BASE64_ENCODED_ZIP_OF_YOUR_CODE"
  }'

5. Delete a Lambda Function

Permanently remove a function.

  • Endpoint: DELETE /2015-03-31/functions/<FunctionName>
  • Example Request:
curl -X DELETE \
  https://lambda.us-east-1.amazonaws.com/2015-03-31/functions/MyTestFunction \
  -H "Authorization: AWS4-HMAC-SHA256 Credential=YOUR_ACCESS_KEY/20240520/us-east-1/lambda/aws4_request, SignedHeaders=host;x-amz-date, Signature=YOUR_GENERATED_SIGNATURE" \
  -H "X-Amz-Date: 20240520T120000Z"
  • Response: Returns 204 No Content on successful deletion.

Final Tips

  • Replace <your-aws-region> with your actual region (e.g., us-west-2, eu-central-1).
  • Ensure your IAM entity has the necessary permissions (e.g., lambda:CreateFunction, lambda:InvokeFunction) to perform these actions.
  • For production use, avoid hardcoding credentials—use IAM roles or credential providers.

内容的提问来源于stack exchange,提问作者Binod Karunanayake

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:36:03