因此,我使用 API Gateway 將影像發布到 S3 存盤桶并觸發 Lambda 函式,該函式獲取影像并將其轉換并回傳二進制資料。但問題是我看不到前端的回傳,所以我無法獲得該影像。這是我的 lambda 函式。
def lambda_handler(event, context):
# print(context)
bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')
converted_image = paste_logo("https://" bucket ".s3.eu-west-3.amazonaws.com/" key)
return {'isBase64Encoded' : True,
'statusCode' : 200,
'headers' : { 'Content-Type': "application/json" },
'body' : json.loads(json.dumps(converted_image, default=str)) }
這是我在前端看到的

我還用郵遞員將影像發布到 S3,我得到的只是status 200 ok
uj5u.com熱心網友回復:
S3 異步呼叫 Lambda。S3 將在呼叫 Lambda 函式之前從物件上傳回傳回應。沒有辦法改變這種行為。
如果您希望您的 API 回傳 Lambda 函式的回應,那么您的 API 需要直接呼叫 Lambda 函式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/497636.html
上一篇:awscliput-bucket-encryption命令因BucketKeyEnabled引數的驗證錯誤而失敗
