[英]python boto3 aws lambda - An error occurred (IncorrectInstanceState) when calling the StartInstances operation:
[英]AWS Lambda: function was created successfully but an error occurred when creating the trigger: Cannot read property 'includes' of undefined
我正在嘗試從 AWS 管理的 slack-echo-command-python 藍圖創建一個 Lambda 函數,每當我點擊創建時,它都會返回“您的 Lambda 函數“test_lambda_01”已成功創建,但在創建時出現錯誤觸發器:無法讀取未定義的屬性“包含”。” 我不確定這意味着什么。
觸發器應該是自動創建和附加的 AWS API 網關。 我嘗試通過管理控制台創建一個,然后手動將其添加到 Lambda 函數上的觸發器中。 它已成功添加,但當我嘗試使用 Slack 斜杠命令時,我返回“502_service_error”。 它目前應該默認接受所有呼叫類型(稍后會更改,但我想讓一些工作正常進行)。
我已將 Slack 設置中的端點更改為正確的端點。 我可以看到它在 CloudWatch 指標中被調用。
我編輯了 Lambda 函數代碼以在每次調用時返回它,僅用於測試目的。 我 99% 確信這是對 Slack 的有效回應,因為大部分/全部內容都是從示例中復制的。 根據https://jsonlint.com/,它是有效的 JSON。
{
"body": {
"blocks": [{
"text": {
"text": "*It's 80 degrees right now.*",
"type": "mrkdwn"
},
"type": "section"
},
{
"text": {
"text": "Partly cloudy today and tomorrow",
"type": "mrkdwn"
},
"type": "section"
}
],
"response_type": "ephemeral"
},
"headers": {
"Content-Type": "application/json"
},
"statusCode": "200"
}
我已經用他們的默認測試測試了 Lambda 函數,它返回了上述內容。 API 網關出現在觸發器下方。 我是否需要為 API 網關附加更多權限(它已經擁有調用 lambda 函數的權限)? 另外,在嘗試從藍圖創建函數時,我做錯了什么?
如果您需要任何其他信息,請告訴我。
您需要對響應中的body
參數進行字符串化。
https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html
{
"isBase64Encoded": true|false,
"statusCode": httpStatusCode,
"headers": { "headerName": "headerValue", ... },
"multiValueHeaders": { "headerName": ["headerValue", "headerValue2", ...], ... },
"body": "..."
}
如果你看到上面的body
參數,它是一個字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.