繁体   English   中英

如何使用 Python 请求异步调用 aws lambda function

[英]How to asynchronously call aws lambda function using Python requests

我知道如何在 python 中使用 boto3 异步调用 AWS lambda function。

这是我正在使用的代码:


import boto3
import json

lambda_client = boto3.client('lambda',
                             region_name='ap-northeast-2',
                             aws_access_key_id='XXXXXXXXXX',
                             aws_secret_access_key='XXXXXXXXXXX')
data = {"data1":"mydata"}

response = lambda_client.invoke(FunctionName="my_lambda_function",
                                InvocationType="Event",         ###for asynchronous purposes
                                Payload=json.dumps(data)
                                )

但我想使用请求而不是调用方法异步调用 lambda

前任):

import requests
param= data = {"data1":"mydata"}
url = "https://xxxxx.execute-api.ap-northeast-2.amazonaws.com/my_lambda_function)"
res = requests.get(url, params=param)

我应该自己实现异步调用的代码吗? 有没有一种简单的异步方式来调用 lambda 请求?

如果没有 AWS 凭证,您将无法访问 Lambda function。 即使您实现自己的 HTTP 请求(重新发明轮子),您也需要使用有效的凭据和权限签署您的请求,以调用 Lambda function。

您需要的是 API 网关与 Lambda 集成。 它将公开一个 HTTP API,您可以使用requests库调用它。

如果您希望 API 网关对 Lambda 的调用是异步的,请按照以下说明进行操作: 设置后端的异步调用 Lambda ZC1C1C1485268E783

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM