簡體   English   中英

通過 API Gateway 在 EC2 上運行函數

[英]Running a function on EC2 through API Gateway

我想將 Amazon API Gateway 鏈接到我的 EC2 實例中的一個函數,但在網上幾乎沒有找到關於 hwo 來執行此操作的信息。

目前,我已按如下方式設置 API 調用: 在此處輸入圖片說明

任何人都可以說明我如何將 API 調用連接到我的 EC2 實例根文件夾中名為“test.py”的 python 函數

我想您可以使用AWS Run Command服務來做到這一點,但這是一種奇怪的做事方式。 AWS 服務代理代理 AWS API。 因此,告訴它代理 AWS EC2 服務會公開 AWS API 來管理 EC2 實例。 管理 EC2 實例包括創建和刪除服務器等內容。 它不包括啟動到服務器的 SSH 連接、登錄到服務器,然后在服務器上運行命令的事情。

通過 API Gateway 在服務器上運行腳本的標准方法是通過 EC2 服務器上的 Web 服務器公開該腳本,然后讓 API Gateway 訪問適當的 URL。

API Gateway 無法直接執行位於 EC2 實例文件系統上的 Python 函數。 API Gateway 只能通過 http/https 端點與 EC2 實例交互。 如果您必須在 EC2 實例上運行 Python 函數,那么您需要在 EC2 實例上運行 Web 服務器或應用程序服務器,並將其設置為在收到特定路徑上的請求時執行您的 Python 函數。 然后設置您的 API Gateway http 集成端點以使用該路徑。

如果您只需要執行此 Python 函數並且不一定需要它在此 EC2 實例上運行,那么您可以設置一個包含您的 Python 函數的 Lambda 函數。 然后設置您的 API 網關以調用 Lambda 函數。 使用 Lambda 方法意味着您不需要管理 EC2 實例。 此外,對於低容量用例,Lambda 比運行專用 EC2 實例更具成本效益。

您可以通過從 API 網關集成請求調用系統管理器“發送命令”來實現。 EC2 實例必須由與您的 EC2 實例關聯的 SSM 和實例角色管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM