2016-07-18 99 views
0

我爲API網關端點創建了2個授權人。一個手動使用控制檯,另一個使用boto3。 手動創建的工作效果很好,但使用腳本創建的工具會在主題行中提到錯誤。如果你檢查這兩個授權人的內容,他們是一樣的。由於配置錯誤,AWS執行失敗:授權人錯誤

缺失部分是什麼?我不認爲這是對lambda無效的權限,因爲它在手動配置時在一個授權者上工作。

The code for the same is as below: 
response = client.create_authorizer(
       restApiId=apiid, 
       name=authName, 
       type='TOKEN', 
       authType='custom', 
       authorizerUri=authorizerUri, 
       ##arn:aws:apigateway:us-west-2:lambda:path/2015-03-31/functions/arn:aws:lambda:us-west-2:<AcctId>:function:CustomAuthorizer/invocations 
       identitySource='method.request.header.Authorization', 
       identityValidationExpression= '.*', 
       authorizerResultTtlInSeconds=300 
      ) 

四處錯誤: 週一7月18日11時53分04秒UTC 2016年在lambda函數權限無效 週一7月18日11時53分04秒UTC 2016年:執行失敗,原因是配置錯誤執行失敗由於配置錯誤:授權人錯誤 Mon Jul 18 11:53:04 UTC 2016:AuthorizerConfigurationException

回答

0

首先,使用API​​網關中的測試按鈕來確認您是否可以在其中調用您的Lambda函數。這將確保API網關到Lambda連接正常工作。

要評估您的資源策略,您需要調用GetPolicy API;執行角色控制您的代碼在Lambda中執行的操作,而不是由誰來調用它。這將是一個很好的下一個檢查。

您也可以打開API網關日誌記錄功能,這是獲取更多信息以瞭解代表您正在執行的操作的好方法。然後,這些日誌將顯示在Amazon CloudWatch Logs中,您可以在其中查看請求的流程。

如果您使用的是CORS,可能會錯過一個設置(或兩個:),所以我會仔細檢查一下。將您的API直接連接到您的端點(您可以使用它的HTTP端點藍圖輕鬆地從Lambda進行測試)是將API直接「連接」到網站或其他應用程序之前的第一步。

+1

我創建了2個授權人A和B.根據AWS控制檯創建的和B從boto3 api創建的。兩者都指向相同的lambda。測試按鈕適用於A,但不適用於B – user1926248

相關問題