亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 AWS lambda 上的 API 獲得正確響應

如何從 AWS lambda 上的 API 獲得正確響應

一只甜甜圈 2021-12-12 10:03:47
這是我第一次向 Stack-Overflow 社區征求意見。幾天以來,我一直在學習使用與 GETEWAY 相連的 AWS lambda 服務。我需要對 API 執行 GET,但問題是我經常收到空響應。這是我的帶有免費訪問 API 的代碼示例:var getApi= async function(event) {        var x =  await axios.get(url)       }var getResponse = async function(){  var data= await getApi()  if (data.status ==200){       return data  }}exports.handler = async function() {    return getResponse().then(res => {        const response = {            statusCode: 200,            body: JSON.stringify(res),         };        return response    }).catch(error => { return error})};非常感謝您的幫助,
查看完整描述

3 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

這是因為 node.js 異步調用。您的函數在異步調用返回之前完成運行。我修復了一些代碼行。我希望這對你有幫助。


const getApi= async function() {

   return await axios.get(url)

}


const getResponse = async function(){

    const data= await getApi()

    if (data.status ==200){

        return data

    }

}


exports.handler = async function() {

    return await getResponse().then(res => {

        const response = {

            statusCode: 200,

            body: JSON.stringify(res), 

        }

        return response

    }).catch(error => console.error(error))

}


查看完整回答
反對 回復 2021-12-12
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

我建議使用console.log()整個文件進行調試。默認情況下,您應該能夠在 Cloudwatch 中看到對這些控制臺日志的響應:)

在此處閱讀更多信息:

https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html


查看完整回答
反對 回復 2021-12-12
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

我自己最近遇到了這個問題。解決辦法是:

  1. 如果您在 AWS 網關中使用 Lambda 作為授權方,則 Lambda 應返回一個包含 principalId、policyDocument 和上下文的 JSON 對象。

  2. 上下文是一個映射,您可以在其中添加您自己的自定義變量,例如字符串、數字和布爾值。

JSON 對象的全部內容將返回給網關。查看此文檔:https : //docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-lambda-authorizer-output.html

我還有一篇關于如何通過 Cloudformation YAML 文件配置網關的非常詳細的 Stackoverflow 帖子:AWS API Gateway with Lambda Authorizer


查看完整回答
反對 回復 2021-12-12
  • 3 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號