簡體   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