

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

# 基本 AWS Lambda 專案
<a name="lambda-creating-project-in-visual-studio"></a>

您可以在 中使用 Microsoft .NET Core 專案範本建立 Lambda 函數 AWS Toolkit for Visual Studio。

## 建立 Visual Studio .NET Core Lambda 專案
<a name="create-a-visual-studio-net-core-lam-project"></a>

您可以使用 Lambda-Visual Studio 範本和藍圖來協助加速專案初始化。Lambda 藍圖包含預先編寫的函數，可簡化彈性專案基礎的建立。

**注意**  
Lambda 服務對不同的套件類型具有資料限制。如需資料限制的詳細資訊，請參閱《[Lambda 使用者指南》中的 Lambda 配額](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html)主題。 *AWS *

**在 Visual Studio 中建立 Lambda 專案**

1. 從 Visual Studio 展開**檔案**功能表，展開**新增**，然後選擇**專案**。

1. 在**新增專案**對話方塊中，將**語言**、**平台**和**專案類型**下拉式方塊設定為「全部」，然後在**aws lambda****搜尋**欄位中輸入 。選擇 **AWS Lambda 專案 (.NET Core - C\#)** 範本。

1. 在**名稱**欄位中，輸入 **AWSLambdaSample**，指定所需的檔案**位置**，然後選擇**建立**以繼續。

1. 從**選取藍圖**頁面，選取**空白函數**藍圖，然後選擇**完成**以建立 Visual Studio 專案。

## 檢閱專案檔案
<a name="review-the-project-files"></a>

有兩個專案檔案需要檢閱： `aws-lambda-tools-defaults.json`和 `Function.cs`。

下列範例顯示 檔案，該`aws-lambda-tools-defaults.json`檔案會自動建立為專案的一部分。您可以使用此檔案中的欄位來設定建置選項。

**注意**  
 Visual Studio 中的專案範本包含許多不同的欄位，請注意下列事項：  
**function-handler**：指定 Lambda 函數執行時執行的方法
在**函數處理常式**欄位中指定值會在發佈精靈中預先填入該值。
如果您重新命名函數、類別或組件，則還需要更新 `aws-lambda-tools-defaults.json` 檔案中的對應欄位。

```
{
  "Information": [
    "This file provides default values for the deployment wizard inside Visual Studio and the AWS Lambda commands added to the .NET Core CLI.",
    "To learn more about the Lambda commands with the .NET Core CLI execute the following command at the command line in the project root directory.",
    "dotnet lambda help",
    "All the command line options for the Lambda command can be specified in this file."
  ],
  "profile": "default",
  "region": "us-west-2",
  "configuration": "Release",
  "function-architecture": "x86_64",
  "function-runtime": "dotnet8",
  "function-memory-size": 512,
  "function-timeout": 30,
  "function-handler": "AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler"
}
```

檢查 `Function.cs` 檔案。 `Function.cs`定義 c\# 函數以公開為 Lambda 函數。`FunctionHandler` 這是 Lambda 函數執行時執行的 Lambda 功能。在此專案中，有一個已定義的函數：`FunctionHandler`，它會`ToUpper()`呼叫輸入文字。

您的專案現在已準備好發佈至 Lambda。

## 發佈至 Lambda
<a name="publish-to-lam"></a>

下列程序和映像示範如何使用 將函數上傳至 Lambda AWS Toolkit for Visual Studio。

![叫用測試函數頁面](http://docs.aws.amazon.com/zh_tw/toolkit-for-visual-studio/latest/user-guide/images/uploadnet8.png)


**將您的函數發佈至 Lambda**

1. 透過展開**檢視**並選擇 AWS Explorer 導覽至 **AWS Explorer**。

1. 在**解決方案總管**中，開啟您要發佈之專案的內容選單 （按一下滑鼠右鍵），然後選擇**發佈至 AWS Lambda** 以開啟**上傳 Lambda 函數**視窗。

1. 從**上傳 Lambda 函數**視窗中，完成下列欄位：

   1. **套件類型**：選擇 **Zip**。ZIP 檔案將作為建置程序的結果建立，並將上傳到 Lambda。或者，您可以選擇**套件類型** **Image**。[教學課程：基本 Lambda 專案建立 Docker 映像](lambda-creating-project-docker-image.md)說明如何使用**套件類型** 進行發佈**Image**。

   1. **Lambda 執行期**：從下拉式選單中選擇您的 Lambda 執行期。

   1. **架構**：選取您偏好架構的放射狀。

   1. **函數名稱**：選取**建立新函數**的放射狀，然後輸入 Lambda 執行個體的顯示名稱。 AWS Explorer 和 AWS 管理主控台 都會參考此名稱。

   1. **處理常**式：使用此欄位來指定函數處理常式。例如：**AWSLambdaSample::AWSLambdaSample.Function::FunctionHandler**。

   1. *（選用） ***描述**：輸入要與您的執行個體一起顯示的描述性文字，從 內 AWS 管理主控台。

   1. **組態**：從下拉式選單中選擇您偏好的組態。

   1. **架構**：從下拉式選單中選擇您偏好的架構。

   1. **儲存設定**：選取此方塊，將您目前的設定儲存`aws-lambda-tools-defaults.json`為未來部署的預設值。

   1. 選擇**下一步**以繼續進階**函數詳細資訊**視窗。

1. 在**進階函數詳細資訊**視窗中，完成下列欄位：

   1. **角色名稱**：選擇與您的帳戶相關聯的角色。此角色會為 函數中程式碼所做的任何 AWS 服務呼叫提供臨時登入資料。如果您沒有角色，請在下拉式清單中捲動以**根據 AWS 受管政策尋找新角色**，然後選擇 **AWSLambdaBasicExecutionRole**。此角色具有最低的存取許可。
**注意**  
您的帳戶必須具有執行 IAM ListPolicies 動作的許可，否則**角色名稱**清單將為空白，您將無法繼續。

   1. *（選用）* 如果您的 Lambda 函數存取 Amazon VPC 上的資源，請選取子網路和安全群組。

   1. *（選用）* 設定 Lambda 函數所需的任何環境變數。金鑰會由免費的預設服務金鑰自動加密。或者，您可以指定需要付費的 AWS KMS 金鑰。[KMS](https://aws.amazon.com/kms/) 是一項受管服務，可用來建立和控制用來加密資料的加密金鑰。如果您有 AWS KMS 金鑰，您可以從清單中選取它。

1. 選擇**上傳**以開啟**上傳函數**視窗，然後開始上傳程序。
**注意**  
**上傳函數**頁面會在函數上傳時顯示 AWS。若要在上傳後保持精靈開啟，以便您可以檢視報告，請在上傳完成之前清除**表單底部的成功完成時自動關閉精靈**。  
函數上傳後，您的 Lambda 函數即為即時。**函數：**檢視頁面隨即開啟，並顯示新的 Lambda 函數組態。

1. 從**測試函數**索引標籤`hello lambda!`，在文字輸入欄位中輸入 ，然後選擇**叫用**以手動叫用您的 Lambda 函數。您的文字會顯示在**回應**索引標籤中，並轉換為大寫。
**注意**  
您可以隨時在節點下的 **AWS Explorer** 中按兩下已部署的執行個體，以重新開啟 **函數：**檢視**AWS Lambda**。  
![叫用測試函數頁面](http://docs.aws.amazon.com/zh_tw/toolkit-for-visual-studio/latest/user-guide/images/invokeBasic.PNG)

1. *（選用）* 若要確認您已成功發佈 Lambda 函數，請登入 AWS 管理主控台 ，然後選擇 Lambda。主控台會顯示所有已發佈的 Lambda 函數，包括您剛建立的函數。

## 清除
<a name="cleanup-lam"></a>

如果您不打算繼續使用此範例繼續開發，請刪除您部署的 函數，以免因帳戶中未使用的資源而產生費用。

**注意**  
Lambda 會自動為您監控 Lambda 函數，並透過 Amazon CloudWatch 報告指標。若要監控和疑難排解函數，請參閱《 AWS Lambda 開發人員指南》中的[使用 Amazon CloudWatch 疑難排解和監控 AWS Lambda 函數](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html)主題。

**刪除函數**

1. 從 **AWS Explorer** 展開**AWS Lambda**節點。

1. 用滑鼠右鍵按一下部署的執行個體，然後選擇**刪除**。