

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

# 使用 AWS Lambda 函數
<a name="remote-lambda"></a>

 AWS Toolkit for Visual Studio Code 可讓您在本機 VS Code 環境中使用 AWS Lambda 函數。透過 AWS Toolkit，您可以建立、編輯、測試、偵錯和部署 Lambda 函數，而無需離開 IDE。如需 AWS Lambda 服務的詳細資訊，請參閱 [AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)開發人員指南。

下列各節說明如何開始使用 中的 Lambda 函數 AWS Toolkit for Visual Studio Code。

**注意**  
如果您已經使用 建立 Lambda 函數 AWS 管理主控台，則可以從 Toolkit 叫用它們。此外，您可以從 將 Lambda 函數開啟為 VS 程式碼 AWS Lambda console，如需其他資訊，請參閱本使用者指南中的 [AWS Lambda console 至 IDE](lambda-console-ide.md)主題。若要在 VS 程式碼中建立新的 Lambda 函數，請遵循本使用者指南中[建立新的無伺服器應用程式 （本機）](https://docs.aws.amazon.com//toolkit-for-vscode/latest/userguide/sam-get-started.html#serverless-apps-create) 主題中概述的步驟。

## 先決條件
<a name="remote-lambda-prereq"></a>

必須符合下列條件，才能在 AWS Toolkit 中使用 AWS Lambda 服務。
+ 已安裝最新版本的 AWS Toolkit for Visual Studio Code ，並使用 AWS 登入資料進行設定。
+ 您的 AWS Identity and Access Management (IAM) 受管許可和政策已設定為使用 AWS Lambda 服務。如需如何設定許可和建立相容 AWS 受管政策的詳細資訊，請參閱《 *AWS Lambda 開發人員指南*》中的 [AWS Identity and Access ManagementAWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/security-iam.html)主題的 。
+ 您現有的 AWS Lambda 函數或 熟悉如何建立一個函數。如需如何建立 Lambda 函數的指示，請參閱《 *AWS Lambda 開發人員指南*》中的[建立您的第一個 Lambda 函數](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html)主題。

## 叫用 Lambda 函數
<a name="invoke-lam-func"></a>

若要從 AWS 您的帳戶叫用 Lambda 函數至 VS 程式碼，請完成下列步驟。

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 開啟您要叫用之 Lambda 函數的內容選單 （按一下滑鼠右鍵），然後選擇**在雲端叫用**，或在**雲端圖示中選擇叫用**，以在 VS 程式碼中開啟**遠端叫用組態**選單。

1. 從**遠端調用組態**功能表中，指定您的**承載**設定，並新增事件所需的任何其他資訊。
**注意**  
當您在 AWS 瀏覽器**中選擇在雲端叫用時，第一個叫用**程序可能會立即開始執行。輸出會顯示在 VS 程式碼終端機的 **OUTPUT** 索引標籤中。

1. 選擇**遠端調用**按鈕來調用您的函數，輸出會顯示在 VS 程式碼終端機的**輸出**索引標籤中。

## 刪除 Lambda 函式
<a name="delete-lambda"></a>

若要刪除 Lambda 函數，請完成下列程序。

**警告**  
請勿使用此程序刪除與 [CloudFormation](https://docs.aws.amazon.com/cloudformation/) 相關聯的 Lambda 函數。這些函數必須透過您的 CloudFormation 堆疊刪除。

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 在要刪除的 Lambda 函數上按一下滑鼠右鍵，然後選擇**刪除**。

1. 出現提示時，請確認您想要刪除函數。

刪除函數之後，它不會再列在 AWS 瀏覽器中。

## 下載 Lambda 函式
<a name="import-lambda"></a>

您可以從遠端 Lambda 函數下載程式碼到 VS 程式碼工作區，以進行編輯和偵錯。

**注意**  
若要下載 Lambda 函數，您必須在具有可存取資料夾的 VS 程式碼工作區中工作，且 AWS Toolkit 僅支援使用 Node.js 和 Python 執行時間搭配 Lambda 函數的此功能。

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 在您要下載的 Lambda 函數上按一下滑鼠右鍵，然後選擇**下載**。

1. 您的 Lambda 函數會在 VS 程式碼編輯器中開啟，並在下載完成時顯示在 AWS 瀏覽器中。 AWS Toolkit 也會在 VS Code 執行面板中建立*啟動組態*，可讓您使用 在本機執行和偵錯 Lambda 函數 AWS Serverless Application Model。如需使用 的詳細資訊 AWS SAM，請參閱 [從範本執行和偵錯無伺服器應用程式 （本機）](sam-get-started.md#serverless-apps-debug)。

## 部署新 Lambda 函數的更新
<a name="deploy-lambda"></a>

您可以從本機機器上未指定的暫時位置部署更新至新的 Lambda 函數。

**注意**  
當您的 lambda 檔案有未部署的變更時，您會透過位於 VS 程式碼編輯器和 AWS 瀏覽器中修改檔案旁邊的 **M** 圖示收到通知。

**從 VS 程式碼編輯器部署**

1. 在 VS 程式碼編輯器中從 Lambda 函數開啟檔案，然後變更檔案。

1. 從 VS Code 主功能表手動儲存或按 **option\$1s**(Mac) **ctrl\$1s** (Windows)。

1. VS Code 會自動提示您將變更部署到雲端，選擇**部署**按鈕以確認部署。

1. VS Code 會更新您部署的狀態，並在程序完成時通知您。

**從 AWS Explorer 部署**

1. 在 VS 程式碼編輯器中從 Lambda 函數開啟檔案，然後變更檔案。

1. 從 AWS Toolkit 中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器中，使用您要部署變更的 Lambda 函數展開 AWS 區域。

1. 從 AWS 區域展開 Lambda 並導覽您要部署變更的函數。

1. 從函數旁的快速選單中，選擇**儲存並部署程式碼**圖示。

1. VS Code 會更新您部署的狀態，並在程序完成時通知您。

## 上傳現有 Lambda 函數的更新
<a name="upload-lambda"></a>

下列程序說明如何上傳對現有 Lambda 函數所做的本機變更。此功能支援使用任何 Lambda 支援的執行時間上傳。

**警告**  
上傳 Lambda 函數之前，請注意下列事項：  
以這種方式更新程式碼不會使用 AWS SAM CLI 進行部署或建立 CloudFormation 堆疊
Toolkit AWS 不會驗證程式碼。在上傳任何變更至雲端之前，驗證您的程式碼並測試您的函數 (s)。

**上傳 Zip 封存檔**

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 在您要上傳變更的 Lambda 函數上按一下滑鼠右鍵，然後選擇**上傳 Lambda...** 以開啟**選取上傳類型**功能表。

1. 選擇 **ZIP Archive** 以在`ZIP Archive`本機目錄中尋找 。

1. 出現提示時，請確認上傳以開始上傳選取的 `ZIP Archive`。

1. 您的上傳狀態會顯示在 VS 程式碼中，上傳程序完成時會通知您。

**上傳目錄而不建置**

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 在您要上傳變更的 Lambda 函數上按一下滑鼠右鍵，然後選擇**上傳 Lambda...** 以開啟**選取上傳類型**功能表。

1. 選擇**目錄**以繼續到**建置目錄**畫面。

1. 從**建置目錄**畫面中，選擇**否**以選擇要上傳的本機目錄。

1. 出現提示時，請確認上傳以上傳選取的目錄。

1. 您的上傳狀態會顯示在 VS 程式碼中，上傳程序完成時會通知您。

**使用組建上傳目錄**
**注意**  
請注意以下事項：  
此程序需要 AWS Serverless Application Model CLI。
 AWS 工具組會在上傳前通知您無法偵測到相符的處理常式。
若要變更連接至 Lambda 函數的處理常式，請使用 AWS Lambda console 或 AWS Command Line Interface。

1. 從 AWS Toolkit for Visual Studio Code中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器展開 **Lambda** 以檢視您的 Lambda 資源。

1. 在您要上傳變更的 Lambda 函數上按一下滑鼠右鍵，然後選擇**上傳 Lambda...** 以開啟**選取上傳類型**功能表。

1. 選擇**目錄**以繼續到**建置目錄**畫面。

1. 從**建置目錄**畫面中，選擇**是**，然後選擇要上傳的本機目錄。

1. 出現提示時，確認上傳以開始建置和上傳選取的目錄。

1. 您的上傳狀態會顯示在 VS 程式碼中，上傳程序完成時會通知您。

## 將您的 Lambda 函數轉換為 AWS SAM 專案
<a name="lambda-sam"></a>

若要將您的 Lambda 函數轉換為 AWS SAM 堆疊，請完成下列步驟。

**警告**  
目前，將 Lambda 函數轉換為 AWS SAM 專案時，僅支援一部分的資源。若要在轉換後尋找任何遺失的資源，請檢查 Lambda 主控台，並手動將其新增至您的 AWS SAM 範本。如需支援和不支援資源的其他詳細資訊，請參閱《 *AWS CloudFormation 開發人員指南*》中的[資源類型支援](https://docs.aws.amazon.com//AWSCloudFormation/latest/UserGuide/resource-import-supported-resources.html)主題。

1. 從 AWS Toolkit 中，展開 AWS 瀏覽器。

1. 從 AWS 瀏覽器中，使用您要轉換為 AWS SAM 專案的 Lambda 函數展開 AWS 區域。

1. 從 AWS 區域中，展開 Lambda 並導覽您要轉換為 AWS SAM 堆疊的函數。

1. 從 Lambda 函數旁的快速選單中，選擇**轉換為 SAM 應用程式**圖示來瀏覽本機檔案系統，並指定新 AWS SAM 專案的位置。

1. 指定位置後， AWS Toolkit 會開始將您的 Lambda 函數轉換為 AWS SAM 專案，VS Code 會提供程序狀態的更新。
**注意**  
此程序可能需要幾分鐘的時間。

1. 當 VS 代碼提示時，輸入堆疊名稱，然後按 **Enter**鍵繼續。

1. VS Code 會繼續更新您專案的狀態，然後在程序完成時通知您，並以 VS Code 工作區的形式開啟您的新 AWS SAM 專案。