為您的 Lambda 函數建立檔案 - AWS CodeDeploy

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為您的 Lambda 函數建立檔案

為您稍後在此教學課程中更新和部署的函數建立檔案。

注意

Lambda 函數可以使用 支援的任何執行期 AWS Lambda。如需詳細資訊,請參閱 AWS Lambda 執行時間

建立 Lambda 函數
  1. 建立文字檔案,並在 SAM-Tutorial 目錄中儲存為 myDateTimeFunction.js

  2. 將下列 Node.js 程式碼複製到 myDateTimeFunction.js 中。

    'use strict'; exports.handler = function(event, context, callback) { if (event.body) { event = JSON.parse(event.body); } var sc; // Status code var result = ""; // Response payload switch(event.option) { case "date": switch(event.period) { case "yesterday": result = setDateResult("yesterday"); sc = 200; break; case "today": result = setDateResult(); sc = 200; break; case "tomorrow": result = setDateResult("tomorrow"); sc = 200; break; default: result = { "error": "Must specify 'yesterday', 'today', or 'tomorrow'." }; sc = 400; break; } break; /* Later in this tutorial, you update this function by uncommenting this section. The framework created by AWS SAM detects the update and triggers a deployment by CodeDeploy. The deployment shifts production traffic to the updated version of this function. case "time": var d = new Date(); var h = d.getHours(); var mi = d.getMinutes(); var s = d.getSeconds(); result = { "hour": h, "minute": mi, "second": s }; sc = 200; break; */ default: result = { "error": "Must specify 'date' or 'time'." }; sc = 400; break; } const response = { statusCode: sc, headers: { "Content-type": "application/json" }, body: JSON.stringify( result ) }; callback(null, response); function setDateResult(option) { var d = new Date(); // Today var mo; // Month var da; // Day var y; // Year switch(option) { case "yesterday": d.setDate(d.getDate() - 1); break; case "tomorrow": d.setDate(d.getDate() + 1); default: break; } mo = d.getMonth() + 1; // Months are zero offset (0-11) da = d.getDate(); y = d.getFullYear(); result = { "month": mo, "day": da, "year": y }; return result; } };

Lambda 函數會傳回昨天、今天或明天的日、月和年。稍後在本教學課程中,您會取消註解程式碼,以更新函數來傳回您所指定的日期或時間的相關資訊 (例如,年、月、日,或目前的時、分、秒)。由 建立的架構會 AWS SAM 偵測和部署已更新版本的 函數。

注意

此 Lambda 函數也用於 AWS Cloud9 教學課程。 AWS Cloud9 是雲端型整合開發環境。如需有關如何在 中建立、執行、更新和偵錯此函數的資訊 AWS Cloud9,請參閱 AWS Lambda 教學課程 AWS Cloud9