Amazon Web Services - Lambda



AWS Lambda 是一種響應式雲服務,它檢查應用程式內的操作並透過部署使用者定義的程式碼(稱為函式)來響應。它自動管理跨多個可用區的計算資源,並在觸發新操作時對其進行擴充套件。

AWS Lambda 支援用 Java、Python 和 Node.js 編寫的程式碼,並且該服務可以在 Amazon Linux 支援的語言(包括 Bash、Go 和 Ruby)中啟動程序。

以下是一些使用 AWS Lambda 時建議的提示。

  • 以無狀態的方式編寫 Lambda 函式程式碼。

  • 切勿在處理程式範圍之外宣告任何函式變數。

  • 確保您上傳的 ZIP 中的檔案具有一組 +rx許可權,以確保 Lambda 可以代表您執行程式碼。

  • 在不再需要時刪除舊的 Lambda 函式。

如何配置 AWS Lambda?

請按照以下步驟首次配置 AWS Lambda。

步驟 1 - 登入 AWS 賬戶。

步驟 2 - 從 AWS 服務部分選擇 Lambda。

Amazon Web Services

步驟 3 - 選擇一個藍圖(可選)並點選“跳過”按鈕。

Lambda

步驟 4 - 提供建立Lambda 函式所需的詳細資訊,如下面的螢幕截圖所示,並貼上 Node.js 程式碼,該程式碼將在 DynamoDB 中新增新專案時自動觸發。選擇所有所需的許可權。

Configure Function

Lambda Function Handler

步驟 5 - 點選“下一步”按鈕並驗證您的詳細資訊。

步驟 6 - 點選“建立函式”按鈕。

現在,當我們選擇 Lambda 服務並選擇“事件源”選項卡時,將沒有記錄。新增至少一個源到 Lambda 函式才能使其工作。這裡,我們將 DynamoDB 表新增到其中。

我們已使用 DynamoDB 建立了一個表(我們將在 DynamoDB 章節中詳細討論這一點)。

步驟 7 - 選擇“流”選項卡並將其與 Lambda 函式關聯。

Amazon DynamoDB

您將在 Lambda 服務頁面上的“事件源”選項卡中看到此條目。

步驟 8 - 向表中新增一些條目。當條目被新增和儲存時,Lambda 服務應該觸發該函式。可以使用 Lambda 日誌進行驗證。

步驟 9 - 要檢視日誌,請選擇 Lambda 服務並點選“監控”選項卡。然後點選“在 CloudWatch 中檢視日誌”。

Monitoring

AWS Lambda 的優勢

以下是使用 Lambda 任務的一些優勢:

  • Lambda 任務無需像 Amazon SWF 活動型別那樣進行註冊。

  • 我們可以使用您已經在工作流中定義的任何現有 Lambda 函式。

  • Lambda 函式由 Amazon SWF 直接呼叫;無需設計程式來實現和執行它們。

  • Lambda 為我們提供了跟蹤函式執行的指標和日誌。

AWS Lambda 限制

以下是三種類型的 Lambda 限制。

節流限制

節流限制是每個賬戶 100 個併發 Lambda 函式執行,並應用於同一區域內所有函式的總併發執行。

計算函式併發執行次數的公式 =(函式執行的平均持續時間)X(AWS Lambda 處理的請求或事件數)。

當達到節流限制時,它會返回一個節流錯誤,錯誤程式碼為 429。15-30 分鐘後,您可以重新開始工作。可以透過聯絡 AWS 支援中心來增加節流限制。

資源限制

下表顯示了 Lambda 函式的資源限制列表。

資源 預設限制
短暫磁碟容量(“/tmp”空間) 512 MB
檔案描述符數量 1,024
程序和執行緒數(組合總數) 1,024
每個請求的最大執行持續時間 300 秒
呼叫請求正文有效負載大小 6 MB
呼叫響應正文有效負載大小 6 MB

服務限制

下表顯示了部署 Lambda 函式的服務限制列表。

專案 預設限制
Lambda 函式部署包大小(.zip/.jar 檔案) 50 MB
可以壓縮到部署包中的程式碼/依賴項的大小(未壓縮的 zip/jar 大小) 250 MB
每個區域可以上傳的所有部署包的總大小 1.5 GB
每個賬戶的計劃事件源型別的唯一事件源數量 50
可以連線到每個計劃事件的唯一 Lambda 函式數量 5

有關最新的更新限制結構和更多資訊,請訪問 - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/

廣告