使用 AWS Lambda 編寫函式和程式碼
什麼是 AWS Lambda?
Lambda 允許您執行程式碼(通常稱為函式),而無需購買或管理伺服器。使用者只需為消耗的計算時間付費。
作為其轉型為創新者和企業家雲計算解決方案的努力的一部分,亞馬遜網路服務於 2014 年推出了 Lambda。
第一個開發者預覽版於 2015 年釋出,公開版本於 2016 年 2 月釋出。
想要使用 Lambda 的開發人員可以使用廣泛採用的程式語言(如 Java)或用 C++ 或 C# 編寫自己的程式碼。
Lambda 函式的基本例項必須是虛擬機器。您可以擴充套件和縮減它,但不能將其作為 EC2 例項新增。
Lambda 的目的是使開發的管理更容易。
以下是新開發人員關於 Lambda 需要了解的內容:
您建立一個函式,該函式為接下來的 5 分鐘計劃一項任務。程式碼掛起,直到 5 分鐘過去,然後重複該迴圈。
透過使用 Lambda,您可以避免執行工作伺服器,並且不必擔心與管理伺服器相關的開銷。
AWS Lambda 函式
函式是在 AWS Lambda 中執行的程式或指令碼。Lambda 將呼叫事件傳遞到您的函式,該函式處理事件並返回其響應。
使用 Serverless Framework 建立 AWS Lambda 函式
我們建議使用 Serverless Framework 從 AWS Lambda 開始。
使用 Serverless Framework,您可以使用您在本地機器上熟悉的工具建立 Lambda 函式,並快速將其部署到 AWS。
使用此方法,您的函式程式碼和配置儲存在同一個 Git 儲存庫中,這使得 Lambda 函式的協作、更改跟蹤和管理更加容易。
步驟 1 - 在您的機器上安裝 Serverless Framework:
$ npm install serverless - g
步驟 2 - 建立一個新的服務:
$ serverless
步驟 3 - 將您的函式需要的資源新增到 serverless.yml 檔案中。請檢視 AWS 文件以瞭解此檔案的示例以及您可以在其中配置的選項列表。
步驟 4 - 將程式碼新增到您的服務中。請參閱 Serverless AWS 提供程式文件,瞭解您可以遵循的具體步驟來建立您的函式。
步驟 5 - 透過執行部署步驟將其部署到 AWS:
$ serverless deploy
就這麼簡單!您的函式將被部署,您將在控制檯中看到函式端點的 URL。
使用 AWS Lambda 函式編寫程式碼
Lambda 函式具有簽名方法 EchoRequest(string argc, argv),它返回 Echo 可以與其事件傳送方通訊的事件。
EchoRequest 的第一個引數是 Lambda 將偵聽的事件源。
第二個引數是要呼叫的函式,以啟動新的 Lambda 函式執行。
第三個引數是實際的函式,它具有與 Lambda 函式相同的簽名,旨在描述您想要執行的程式碼。
第四個引數是事件傳送方的列表。
Lambda 允許您在開發伺服器上編寫程式碼,然後向 Lambda 傳送 HTTP 請求,該請求執行程式碼。
您建立 Amazon Web Services (AWS) 儀表板並新增 Lambda 函式以建立 Lambda 函式。
Lambda 儀表板連線到 Lambda 控制檯。在 Lambda 控制檯中,您可以啟用函式、設定函式名稱以及使用您的訪問憑據連線到 Amazon EC2 API。
Lambda 可以透過更改 Lambda 函式的 URL 併發送和接收訊息 Echo(對於 Echo 收到的任何訊息或當它收到 lambda 函式呼叫時)來呼叫函式並控制程式碼的執行。
Lambda 可以透過將 HTTP 請求的標頭設定為 Echo 來處理請求。
您可以使用 JSON 主體傳送 Lambda 函式響應,併為所有請求指定單個 JSON 響應。
為此,請在您的函式中新增幾行程式碼以將其傳送到 Lambda 以響應任何收到的請求。
以下是一些您可以用來建立等待 5 分鐘以傳遞即時訊息的函式的示例函式:
void postMessage(string message, string body){
Amazon.Message.Send(message, body);
}
void wait5minutes(string eventName, string token){
Amazon.Message.Receive(eventName, token, 5);
}
此外,以下是一些您可以用來建立偵聽電子郵件訊息的函式的示例函式:
void postEmail(string body){
Amazon.Message.Receive(message, body, 5);
}
以下是一些您可以用來建立向收件人地址簿中的任何電子郵件地址傳送電子郵件的函式的示例函式:
void sendEmail(string message){
Amazon.Email.Send(message, toAddressList, fromAddressList, subject, fromBody, body);
}
結論
Lambda 易於設定,並且可以以最少的努力提供即時 AWS 服務。我們剛剛介紹了設定第一個 Lambda 函式的基礎知識。您可以將 Lambda 用於許多其他用途,包括在您的網站上呈現頁面和傳送電子郵件。
AWS Lambda 允許您向 AWS 資源(例如 Amazon S3 儲存桶和 Amazon DynamoDB 表)新增自定義邏輯,因此您可以輕鬆地將其應用於處理進入或流經雲的資料。開始使用 AWS Lambda 非常簡單。當您需要訪問少量服務或執行自定義處理時,請使用 Lambda。當資料流經服務時,您可以使用 Lambda 在該資料流上執行自定義程式碼。這在從 IoT 裝置等內容獲取資料的 Kinesis Pipeline 中很有用。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP