- Serverless 教程
- Serverless - 首頁
- Serverless - 簡介
- Serverless - 安裝
- Serverless - 部署函式
- Serverless - 區域、記憶體大小、超時時間
- Serverless - 服務
- Serverless - 定時 Lambda 函式
- Serverless - API Gateway 觸發的 Lambda 函式
- Serverless - 包含/排除
- Serverless - 外掛
- Serverless - 打包依賴項
- Serverless - 層建立
- Serverless - 使用 DynamoDB 的 REST API
- Serverless - Telegram 回聲機器人
- Serverless 有用資源
- Serverless - 快速指南
- Serverless - 有用資源
- Serverless - 討論
Serverless - 服務
您不會希望為部署的每個函式建立單獨的 serverless.yml 檔案。那將非常繁瑣。幸運的是,serverless 提供了在同一個 serverless.yml 檔案中部署多個函式的功能。所有這些函式都屬於一個名為“service”的單個組。服務名稱通常是 serverless.yml 檔案中定義的第一件事。
service: my-first-service
provider:
name: aws
runtime: python3.6
stage: prod
region: us-east-2
profile: yash-sanghvi
functions:
func1:
handler: handler1.func1
func2:
handler: handler2.func2
服務中的所有函式在部署時,在 AWS Lambda 控制檯中將採用以下名稱格式:service_name-stage_name-function_name。因此,上面示例中的兩個函式在部署後將分別命名為:my-first-service-prod-func1 和 my-first-service-prod-func2。stage 引數可幫助您區分程式碼開發的不同階段。
因此,如果您的函式處於開發階段,您可以使用階段dev;如果它處於測試階段,您可以使用階段test;如果它處於生產階段,您可以使用階段prod。這樣,您可以確保對 dev 階段所做的更改不會影響生產程式碼。階段名稱並非一成不變。dev、test、prod 僅為示例。
您可以根據需要選擇任何階段名稱。請注意,如果您有 API Gateway 觸發的 Lambda 函式(將在後面的章節中詳細介紹),則每個階段的端點將有所不同。
此外,如果您轉到 AWS Lambda 控制檯不太常用的“應用程式”部分,您將能夠看到帶有階段的整個服務。
如果您單擊您選擇的組合服務和階段,您將能夠在一個地方看到服務使用到的所有資源 - Lambda 函式、API Gateway、事件規則、日誌組、S3 儲存桶,所有內容。
更有趣的是,您可以轉到“監控”選項卡並檢視整個服務的效能 -> 呼叫次數、平均持續時間、錯誤計數等。您可以瞭解哪個函式對您的賬單貢獻最大。當您的服務中有多個函式時,監控每個單獨函式的效能變得非常困難。服務級別的“監控”選項卡在此處很有幫助。
最後,“部署”選項卡可幫助您檢視服務的所有過去部署和部署狀態。