使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。有了 Lambda,您可以透過虛擬方式執行任何類型的應用程式或後端服務,全部免管理。只需上傳程式碼,Lambda 就會運用其高可用性處理執行程式碼及擴展規模所需的一切事務。您可以將自己的程式碼設成可以從其他 AWS 服務自動觸發,或從任何 Web 或行動應用程式直接呼叫。
問:哪些事件可以觸發 AWS Lambda 函數?
請參閱我們的文件以取得事件來源的完整清單。
問:何時應該使用 AWS Lambda?何時又該使用 Amazon EC2?
Amazon Web Services 提供一組運算服務以滿足各種需求。
Amazon EC2 具有多種執行個體類型以及自訂作業系統、網路和安全設定以及整個軟體堆疊的選項,可提供靈活性,讓您能夠將現有的應用程式輕鬆移到雲端。使用 Amazon EC2 時,您要負責佈建容量、監控機群的運行狀況和效能,並設計容錯能力和可擴展性。AWS Elastic Beanstalk 提供易用的服務供您部署和擴展 Web 應用程式,而您也可在使用這些服務時保有對基礎 EC2 執行個體的擁有權和完整控制權。Amazon EC2 Container Service 是一項可擴展的管理服務,支援 Docker 容器,並讓您在 Amazon EC2 執行個體受管的叢集上輕鬆執行分散式應用程式。
AWS Lambda 可輕鬆執行程式碼以回應事件,例如 Amazon S3 儲存貯體的變更、Amazon DynamoDB 表的更新,或您的應用程式或裝置產生的自訂事件。使用 Lambda 時,您不必佈建自己的執行個體;Lambda 會代您執行所有的操作和管理活動,包括容量佈建、監控機群運行狀況、對基礎運算資源套用安全性修補程式、部署您的程式碼、在前端執行 Web 服務以及監控和記錄您的程式碼。您不需進行其他作業,AWS Lambda 即可讓程式碼易於擴展且高度可用。
問:AWS Lambda 上可執行哪種程式碼?
AWS Lambda 提供了在雲端完成許多活動的簡易方式。例如,您可以使用 AWS Lambda 建構下列項目:可從 Amazon DynamoDB 擷取和轉換資料的行動後端、物件上傳到 Amazon S3 之後進行壓縮或轉換的處理常式、對某個 Amazon Web Services 所做 API 呼叫的稽核和報告功能,以及使用 Amazon Kinesis 減少伺服器串流資料的處理。
問:AWS Lambda 支援哪些語言?
AWS Lambda 支援以 Node.js (JavaScript)、Python 和 Java (與 Java 8 相容) 編寫的程式碼。您的程式碼可包含現有的程式庫,甚至是原生程式庫。請閱讀我們的文件,了解如何使用 Node.js、Python 和 Java。
問:我是否能存取執行 AWS Lambda 所在的基礎設施?
否。AWS Lambda 會代您運作該運算基礎設施,允許其執行運行狀況檢查、套用安全性修補程式和執行其他例行維護。
問:AWS Lambda 如何隔離我的程式碼?
每個 AWS Lambda 函數都在其獨立的隔離環境中執行,有自己的資源和檔案系統檢視。AWS Lambda 使用與 Amazon EC2 相同的技術,在基礎設施和執行級別上提供安全性和區隔。
問:AWS Lambda 如何保護我的程式碼安全?
AWS Lambda 將程式碼儲存在 Amazon S3 中並以靜態加密。AWS Lambda 在使用您的程式碼時執行額外的完整性檢查。
問:哪些 AWS 區域可使用 AWS Lambda?
請參閱 AWS 全球基礎設施區域表。
問:什麼是 AWS Lambda 函數?
您在 AWS Lambda 上執行的程式碼是以「Lambda 函數」的形式上傳。每個函數都有相關的組態資訊,例如其名稱、描述、進入點和資源要求。程式碼必須以「無狀態」樣式編寫,也就是要假設其與基礎運算基礎設施無任何關係。本地檔案系統存取、子處理序和類似的項目可能不會超出要求的存留期,且任何持續狀態都應該儲存在 Amazon S3、Amazon DynamoDB 或另一個可用的網際網路儲存服務中。Lambda 函數可包含程式庫,甚至是原生程式庫。
問:AWS Lambda 是否會重複使用函數執行個體?
為了改善效能,AWS Lambda 可以選擇保留您的函數執行個體,讓它重複使用於後續請求,而不是建立一個新副本。您的程式碼不應假設此操作會經常發生。
問:如果我需要在磁碟上為 AWS Lambda 函數提供暫存空間,應該怎麼做?
每個 Lambda 函數在自己的 /tmp 目錄中都有 500 MB 的非持久性磁碟空間。
問:為什麼 AWS Lambda 函數必須是無狀態的?
透過讓函數保持無狀態,AWS Lambda 能盡快啟動所需的函數副本數,因而能視連入事件的速率而進行擴展。由於 AWS Lambda 的程式設計模式是無狀態的,因此您的程式碼可以透過呼叫其他 Web 服務 (例如 Amazon S3 或 Amazon DynamoDB) 來存取有狀態的資料。
問:我是否可在 AWS Lambda 函數程式碼中使用執行緒和程序?
是。AWS Lambda 可讓您使用一般的語言和作業系統功能,例如建立額外的執行緒和程序。分配給 Lambda 函數的資源 (包括記憶體、執行時間、磁碟和網路的使用),都必須透過其使用的所有執行緒/程序進行共享。您可以使用 Amazon Linux 支援的任何語言來啟動程序。
問:AWS Lambda 函數程式碼有哪些限制?
Lambda 嘗試盡可能不對一般的語言和作業系統活動施加限制,但仍有少數活動是停用的:入站網路連線被 AWS Lambda 封鎖而僅支援 TCP/IP 通訊端對外連線,且 ptrace (偵錯) 系統呼叫受到限制。TCP 埠 25 的流量同樣也受到限制,以當做反垃圾郵件的措施。
問:如何使用 Lambda 主控台建立 AWS Lambda 函數?
您可以使用 AWS Lambda 主控台中的內嵌編輯器為您的函數編寫程式碼。您也可以將程式碼 (以及任何相依程式庫) 封裝成 ZIP,並使用 AWS Lambda 主控台從您的本機環境上傳,或者指定 ZIP 檔案所在的 Amazon S3 位置。上傳的內容不得大於 50 MB (已壓縮)。您可以使用 AWS Eclipse 外掛程式以 Java 和 Node.js 編寫和部署 Lambda 函數。如果您使用的是 Node.js,可以使用 AWS Lambda 主控台中的內嵌編輯器為您的函數編寫程式碼。移至主控台以開始使用。
問:如何使用 Lambda CLI 建立 AWS Lambda 函數?
您可以將程式碼 (以及任何相依程式庫) 封裝成 ZIP,並使用 AWS CLI 從您的本機環境上傳,或者指定 ZIP 檔案所在的 Amazon S3 位置。上傳的內容不得大於 50 MB (已壓縮)。瀏覽 Lambda 入門指南以開始使用。
問:如何管理 AWS Lambda 函數?
您可以使用 AWS Lambda 主控台中的儀表板輕鬆列出、刪除、更新和監控您的 Lambda 函數。您還可以使用 AWS CLI 和 AWS 開發套件來管理您的 Lambda 函數。請瀏覽 Lambda 開發人員指南進一步了解相關資訊。
問:如何監控 AWS Lambda 函數?
AWS Lambda 會自動替您監控 Lambda 函數,透過 Amazon CloudWatch 即時報告指標,包括請求總數、延遲、錯誤率和節流請求。您可以透過 Amazon CloudWatch 主控台或 AWS Lambda 主控台檢視每個 Lambda 函數的統計資料。您還可以在 Lambda 函數中呼叫第三方監控 API。請瀏覽故障診斷 CloudWatch 指標進一步了解相關資訊。若要使用 Lambda 內建指標,AWS Lambda 將按照標準收費。
問:如何對 AWS Lambda 函數進行故障診斷?
AWS Lambda 會與 Amazon CloudWatch 日誌自動整合,為每個 Lambda 函數建立一個日誌群組,並提供基本的應用程式生命週期事件日誌項目,包括記錄每次使用函數所耗用的資源。您可以在程式碼中輕鬆插入其他記錄陳述式。您還可以在 Lambda 函數中呼叫第三方記錄 API。請瀏覽故障診斷 Lambda 函數進一步了解相關資訊。Amazon CloudWatch 日誌需收取費用。
問:如何擴展 AWS Lambda 函數?
您不必擴展您的 Lambda 函數,AWS Lambda 會自動代您擴展。每當接收到函數的事件通知時,AWS Lambda 會在其運算機群中快速找到可用容量並執行您的程式碼。由於您的程式碼是無狀態的,AWS Lambda 可以視需要盡可能啟動許多函數副本,而不會有冗長的部署和組態延遲的情況。函數的擴展沒有基本限制。AWS Lambda 將動態分配容量以符合連入事件的速率。
問:如何將運算資源指定給 AWS Lambda 函數?
在 AWS Lambda 資源模式中,您可以選擇想為函數分配的記憶體數量,並按 CPU 功率和其他資源的比例分配。例如,若是選擇 256 MB 記憶體,分配給 Lambda 函數的 CPU 功率大約是請求 128 MB 記憶體的兩倍,也是選擇 512 MB 記憶體時的一半。您可以設定記憶體大小範圍在 128 MB 到 1.5 GB 之間,以 64 MB 的增量遞增。
問:AWS Lambda 函數可以執行多久的時間?
對 AWS Lambda 進行的所有呼叫必須在 300 秒內完成執行。預設逾時為 3 秒,但您可以將逾時設定為 1 到 300 秒之間的任何值。
問:使用 AWS Lambda 函數如何收費?
AWS Lambda 按使用量收費。請參閱 AWS Lambda 定價頁面了解詳細資訊。
問:AWS Lambda 是否支援版本控制?
是。預設情況下,每個 AWS Lambda 函數都有單一的目前版本程式碼。Lambda 函數的用戶端可以呼叫特定版本或取得最新實作。請參閱有關版本控制 Lambda 函數的文件。
問:上傳我的程式碼後,AWS Lambda 函數需要準備多久才能進行呼叫?
部署時間根據程式碼的大小而有所不同,但 AWS Lambda 函數一般在上傳後幾秒鐘內就能做好呼叫準備。
問:是否可使用我自己的支援程式庫版本?
是,您可以加入自己的程式庫版本 (包括 AWS 開發套件),以使用與 AWS Lambda 預設版本不同的版本。
問:什麼是事件來源?
事件來源是 AWS 服務或開發人員建立的應用程式,用來產生可觸發 AWS Lambda 函數使其執行的事件。有些服務透過直接叫用雲端函數 (例如 Amazon S3) 向 Lambda 發佈這些事件。Lambda 也可以在未向 Lambda 發佈事件的其他服務中輪詢資源。例如,Lambda 可以從 Kinesis 串流中提取記錄並為串流中的每則訊息執行 Lambda 函數。
只要登入 Amazon S3 並使用 S3 儲存貯體通知觸發 AWS Lambda 函數,其他許多服務 (例如 AWS CloudTrail) 就可以做為事件來源。
問:哪些事件來源可用於 AWS Lambda?
請參閱我們的文件以取得事件來源的完整清單。
問:如何在 AWS Lambda 中表示事件?
事件會以事件輸入參數的形式傳輸到 Lambda 函數中。對於以批次方式到達事件的事件來源,例如 Amazon Kinesis 和 Amazon DynamoDB Streams,事件參數可以在單一呼叫中包含多個事件,這取決於您請求的批次大小。若要進一步了解 Amazon S3 事件通知的資訊,請瀏覽 Configuring Notifications for Amazon S3 Events。若要進一步了解 Amazon DynamoDB Streams,請瀏覽 DynamoDB Stream 開發人員指南。若要進一步了解如何使用 Amazon SNS 叫用 Lambda 函數,請瀏覽 Amazon SNS 開發人員指南。有關 Amazon Cognito 事件的更多資訊,請瀏覽 Amazon Cognito。有關 AWS CloudTrail 日誌與稽核 AWS 服務 API 呼叫的更多資訊,請參閱 AWS CloudTrail。
問:如何讓 AWS Lambda 函數針對 Amazon S3 儲存貯體的變更做出回應?
您可以從 AWS Lambda 主控台中選擇一個函數,並將其與 Amazon S3 儲存貯體中的通知關聯。或者,您可以使用 Amazon S3 主控台並設定儲存貯體的通知以傳送到您的 AWS Lambda 函數。還可透過 AWS 開發套件和 CLI 提供此相同的功能。
問:如何讓 AWS Lambda 函數針對 Amazon DynamoDB 表的變更做出回應?
透過訂閱與 DynamoDB 表相關的 DynamoDB Stream 的 Lambda 函數,您可以在 DynamoDB 表更新觸發 Lambda 函數。您可以使用 Amazon DynamoDB 主控台、AWS Lambda 主控台或 Lambda 的 registerEventSource API,將 DynamoDB Stream 與 Lambda 函數建立關聯。
問:如何使用 AWS Lambda 函數處理 Amazon Kinesis 串流中的記錄?
您可以從 AWS Lambda 主控台選取一個 Lambda 函數,並將其與相同帳戶擁有的 Amazon Kinesis 串流建立關聯。還可透過 AWS 開發套件和 CLI 提供此相同的功能。
問:AWS Lambda 如何處理來自 Amazon Kinesis Streams 和 Amazon DynamoDB Streams 的資料?
傳送到您的 AWS Lambda 函數的 Amazon Kinesis 和 DynamoDB Streams 記錄,將根據碎片進行嚴格序列化。這表示如果您將兩個記錄放在同一個碎片中,Lambda 保證先透過第一個記錄成功叫用 Lambda 函數,然後再透過第二個記錄叫用。如果第一個記錄叫用逾時,或者遇到其他錯誤,Lambda 將重試直到叫用成功 (或者記錄達到 24 小時期限),才會叫用下一個記錄。無法保證不同碎片之間記錄的排序,而且每個碎片的處理是同時進行的。
問:如何使用 AWS Lambda 函數回應 Amazon Simple Notification Service (SNS) 傳送的通知?
您可以從 AWS Lambda 主控台中選擇一個函數,並將其與 Amazon SNS 主題建立關聯。還可透過 AWS 開發套件和 CLI 提供此相同的功能。
問:如何使用 AWS Lambda 函數回應 Amazon Simple Email Service (SES) 傳送的電子郵件?
您可以從 Amazon SES 主控台設定接收規則,讓 Amazon SES 將您的訊息傳送給 AWS Lambda 函數。透過 AWS 開發套件和 CLI 可使用此相同的功能。
問:如何使用 AWS Lambda 函數回應 Amazon CloudWatch 警示?
首先要設定警示以傳送 Amazon SNS 通知。然後從 AWS Lambda 主控台中選擇一個 Lambda 函數,並將其與 Amazon SNS 主題建立關聯。請參閱 Amazon CloudWatch 開發人員指南進一步了解建立 Amazon CloudWatch 警示。
問:如何使用 AWS Lambda 函數回應由 Amazon Cognito 管理的使用者或裝置資料的變更?
您可以從 AWS Lambda 主控台選擇要在任何資料集與 Amazon Cognito 身分集區同步時觸發的函數。還可透過 AWS 開發套件和 CLI 提供此相同的功能。請瀏覽 Amazon Cognito 了解使用 Amazon Cognito 跨多個使用者裝置分享和同步資料的詳細資訊。
問:我的應用程式如何直接觸發 AWS Lambda 函數?
您可以透過 AWS Lambda 的叫用 API,使用自訂事件叫用 Lambda 函數。只有該函數的擁有者或該擁有者授予許可的另一個 AWS 帳戶才能叫用該函數。請瀏覽 Lambda 開發人員指南進一步了解相關資訊。
問:叫用 AWS Lambda 函數以回應事件會有多少延遲?
AWS Lambda 的設計旨在幾毫秒內處理事件。在 Lambda 函數建立、更新後,或如果最近未使用,延遲狀況將立刻變得明顯。
問:如果我的函數在處理事件時發生故障,會出現什麼情況?
對於 Amazon S3 儲存貯體通知和自訂事件,AWS Lambda 將在您的程式碼發生錯誤條件或是您超出服務或資源限制時,嘗試執行三次您的函數。對於 AWS Lambda 代您輪詢的已排序的事件來源 (例如 Amazon DynamoDB Streams 和 Amazon Kinesis Streams),Lambda 將在發生開發人員程式碼錯誤時繼續嘗試執行,直到該資料過期為止。您可以透過 Amazon Kinesis 和 Amazon DynamoDB 主控台以及 AWS Lambda 為您的函數產生的 Amazon CloudWatch 指標監控處理情況。您也可以根據錯誤或執行節流率來設定 Amazon CloudWatch 警示。
問:如何使用 AWS Lambda 建立行動後端?
上傳您要 AWS Lambda 執行的程式碼,並使用 AWS Mobile SDK 中的 AWS Lambda 開發套件,從行動應用程式叫用它。您可以直接 (同步) 呼叫來擷取或即時查看資料,也可以進行異步呼叫。您可以使用 Amazon API Gateway 定義自訂 API,並透過任何與 REST 相容的用戶端叫用 Lambda 函數。要進一步了解有關 AWS Mobile SDK 的資訊,請瀏覽 AWS Mobile SDK 頁面。要進一步了解有關 Amazon API Gateway 的資訊,請瀏覽 Amazon API Gateway 頁面。
問:如何透過 HTTPS 叫用 AWS Lambda 函數?
您可以使用 Amazon API Gateway 定義自訂 RESTful API,透過 HTTPS 叫用 Lambda 函數。這可為您提供函數的終端節點,以回應 GET、PUT 和 POST 這類的 REST 呼叫。請參閱更多有關使用 AWS Lambda 搭配 Amazon API Gateway 的資訊。
問:AWS Lambda 函數如何自訂發出請求的裝置與應用程式行為?
當透過 AWS Mobile SDK 進行呼叫時,AWS Lambda 函數會自動取得透過 ‘context’ 物件來呼叫的裝置與應用程式的深入資料。
問:AWS Lambda 函數如何根據應用程式最終使用者的身分對其行為進行個人化?
當您的應用程式使用 Amazon Cognito 身分時,最終使用者可以使用各種公有登入供應商 (包括 Amazon、Facebook、Google) 和其他與 OpenID Connect 相容的服務來驗證自身。然後使用者身分便會自動加密並以 Amazon Cognito ID 的形式送給 Lambda 函數,並允許其存取 Amazon Cognito 中的使用者資料,或做為儲存的金鑰,以儲存和擷取 Amazon DynamoDB 或其他 Web 服務的資料。
問:如何使用 AWS Lambda 建立 Alexa 技術?
AWS Lambda 與 Alexa 技術套件整合,Alexa 技術套件是自助服務 API、工具、文件和程式碼範例的集合,可讓您為 Alexa 輕鬆建立語音驅動功能 (或「技術」)。只要上傳您所建立的新 Alexa 技術的 Lambda 函數程式碼,AWS Lambda 就會以靜態方式執行程式碼回應 Alexa 語音互動,而且可替您自動管理運算資源。有關更多詳細資訊,請參閱 Alexa 技術套件文件。
問:AWS Lambda 函數的可用性如何?
AWS Lambda 的設計目的是利用複寫和冗餘來為服務本身及其操作的 Lambda 函數提供高可用性。兩者都沒有維護時段或計劃停機時間。
問:當我變更程式碼或其設定時,是否還能使用 AWS Lambda 函數?
是。當您更新 Lambda 函數時會產生一個短暫的空窗期,時間通常不到 1 分鐘,而在此期間的請求將以舊版或新版函數來執行。
問:一次可執行 AWS Lambda 函數的數量有沒有限制?
否。AWS Lambda 設計成能夠平行執行大量的函數執行個體。不過,AWS Lambda 對於每個區域的每個帳戶設有 100 個並行執行的預設安全限制。如果您想提交請求以提高 100 個並行執行的限制,請瀏覽我們的支援中心,按一下 "Open a new case" 並傳送提高服務限制的請求。
問:如果帳戶超出並行執行的預設節流限制,會出現什麼情況?
當超出節流限制時,同步叫用的 AWS Lambda 函數將會傳回節流錯誤 (錯誤碼為 429)。異步叫用的 Lambda 函數可以承受合理範圍內的突發流量約 15 到 30 分鐘,但之後再進來的事件將因為節流而遭到拒絕。如果叫用的 Lambda 函數是用於回應 Amazon S3 事件,則遭到 AWS Lambda 拒絕的事件可能會由 S3 保留 24 小時並在此期間重試。除非 Lambda 函數成功或資料過期,否則來自 Amazon Kinesis Streams 和 Amazon DynamoDB Streams 的事件會一直重試。Amazon Kinesis 與 Amazon DynamoDB 串流會將資料保留 24 小時。
問:每個函數層級都會套用預設限制?
否,預設限制只會套用在帳戶層級。
問:如果我的 Lambda 函數在處理事件時發生故障,會出現什麼情況?
如果發生故障,同步叫用的 Lambda 函數會以例外狀況做為回應。異步叫用的 Lambda 函數會重試至少 3 次,之後進來的事件可能會遭到拒絕。除非 Lambda 函數成功或資料過期,否則來自 Amazon Kinesis Streams 和 Amazon DynamoDB Streams 的事件會一直重試。Kinesis 與 DynamoDB 串流會將資料保留 24 小時。
問:如何允許我的 AWS Lambda 函數存取其他 AWS 資源?
您可以使用 IAM 角色授予 Lambda 函數存取其他資源的許可。AWS Lambda 在執行您的 Lambda 函數時會擔任執行角色,因此您可以對該服務可使用的 AWS 資源保持完整且安全的控制。瀏覽設定 AWS Lambda 進一步了解角色。
問:如何控制哪些 Amazon S3 儲存貯體可以呼叫哪些 AWS Lambda 函數?
當您設定 Amazon S3 儲存貯體以傳送訊息到 AWS Lambda 函數時,將會建立一條授權存取的資源政策規則。請瀏覽 Lambda 開發人員指南進一步了解資源政策與存取 Lambda 函數控制的相關資訊。
問:如何對 AWS Lambda 函數可以輪詢哪個 Amazon DynamoDB 表或 Amazon Kinesis 串流進行控制?
存取控制是透過 Lambda 函數的角色來管理。您指派給 Lambda 函數的角色也決定了 AWS Lambda 可代表其輪詢的資源。請瀏覽 Lambda 開發人員指南進一步了解相關資訊。
問:是否能使用我的 AWS Lambda 函數存取 Amazon VPC 幕後的資源?
是。您可以存取 Amazon VPC 幕後的資源。
問:如何啟用和停用 Lambda 函數的 VPC 支援?
若要啟用 VPC 支援,您需要在單一 VPC 中指定一或多個子網路和安全群組做為函數組態的一部分。若要停用 VPC 支援,您需要更新函數組態並為子網路和安全群組指定一個空的清單。您可使用 AWS API、CLI 或 AWS Lambda 管理主控台變更這些設定。
問:單一 Lambda 函數是否可以存取多個 VPC?
否。Lambda 函數只能存取單一 VPC。如果指定多個子網路,它們必須位於同一個 VPC 中。您可以讓多個 VPC 建立對等關係以連接到其他 VPC。
問:VPC 中的 Lambda 函數也能夠存取網際網路和 AWS 服務終端節點嗎?
設定要存取特定 VPC 中資源的 Lambda 函數,預設無法存取網際網路。如果您需要存取外部終端節點,則必須在 VPC 中建立 NAT 以轉送這個流量,並設定安全群組允許這個傳出流量。
問:如何編譯 AWS Lambda 函數 Java 程式碼?
您可以使用 Maven 或 Gradle 這類標準工具編譯 Lambda 函數。您的建置程序應該與編寫依靠 AWS 開發套件的任何 Java 程式碼的建置程序相同。在原始檔案上執行 Java 編譯器工具,並在 classpath 包括 AWS 開發套件 1.9 或更新版本及轉移相依項。有關更多詳細資訊,請參閱我們的文件。
問:Lambda 用來執行函數的 JVM 環境為何?
Lambda 提供 Amazon Linux 的 openjdk 1.8 組建。
問:我是否可將套件與 AWS Lambda 搭配使用?
是。您可以使用 NPM 套件和自訂的套件。按一下此處進一步了解。
問:是否可在以 Node.js 編寫的 AWS Lambda 函數中執行其他程式?
是。Lambda 的內建沙盒可讓您執行批次 (「殼層」) 指令碼、其他語言執行時間、公用程式常式以及可執行檔。按一下此處進一步了解。
問:是否可將原生模組與以 Node.js 編寫的 AWS Lambda 函數搭配使用?
是。您上傳的 ZIP 檔案可包含任何靜態連結的原生模組,以及動態連結的模組,動態模組是用指向您的 Lambda 函數根目錄的根路徑編譯的。按一下此處進一步了解。
問:是否能使用以 Node.js 編寫的 AWS Lambda 執行二進位程式碼?
是。您可以使用 Node.js 的 child_process 命令來執行包含在函數中的二進位程式碼,或任何可以從 Amazon Linux 看到函數的可執行檔。另外,還有多個包裝命令列二進位程式碼的 NPM 套件,如 node-ffmpeg。按一下此處進一步了解。
問:如何部署以 Node.js 編寫的 AWS Lambda 函數?
若要部署以 Node.js 編寫的 Lambda 函數,只要將 Javascript 程式碼和相依程式庫封裝成 ZIP。您可以從本機環境上傳 ZIP,或者指定 ZIP 檔案所在的 Amazon S3 位置。有關更多詳細資訊,請參閱我們的文件。
問:支援哪些 Python 版本?
Lambda 提供 Python 2.7 相容的執行時間來執行您的 Lambda 函數。Lambda 預設包含最新適用於 Python 的 AWS 開發套件 (boto3)。
問:是否可將套件與以 Python 編寫的 AWS Lambda 搭配使用?
是。您可以使用 pip 安裝任何所需的 Python 套件。
問:AWS Lambda 支援哪些版本的 Amazon Linux、Node.js、JDK 和其他程式庫?
您可以查看此處的受支援版本清單。
問:是否能更改 Amazon Linux、JDK 或 Node.js 的版本?
否,AWS Lambda 向該服務的所有使用者提供單一版本的作業系統和語言執行時間。
問:如何記錄和稽核對 AWS Lambda API 所做的呼叫?
AWS Lambda 與 AWS CloudTrail 互相整合。AWS CloudTrail 可記錄日誌檔案並將其傳送至描述帳戶 API 使用情況的 Amazon S3 儲存貯體。