簡體   English   中英

如何在 AWS 之外調用 AWS Lambda

[英]How to call a AWS Lambda outside of AWS

這是一個非常基本的問題,但我無法找到它:如何在不使用 EC2 實例或必須 24/7 運行的類似實例的情況下通過 https 調用 lambda。 這樣我就可以通過 CURL 或支持 http 的所有工具從 App 調用我的方法。

我找到了一些對一些網關 API 的引用,但我不知道如何調用它們。 我還需要設置一些訪問權限嗎? 我還可以設置訪問控制還是需要在 lambda 中實施?

您可以使用APICLI 來完成。API 方式將是耗時的,但通常更健壯和可維護。

當您訪問其 API 時,AWS 並不關心您的代碼在哪里運行。

服務端點都可以通過 Internet 訪問。

從“內部”訪問 API 並沒有什么神奇之處,因為在最合乎邏輯的意義上,當您在 EC2 上運行代碼時,這不是您正在做的事情。

從技術上講,API 請求總是發送到 Internet。 如果您正在訪問同一 AWS 區域內的 AWS 服務,即使您的應用程序和 API 終端節點之間的流量實際上從未離開 AWS IP 基礎設施……但如果您有 EC2無法訪問 Internet 的實例,那么它也無法訪問服務 API 端點。

(如果您配置了 S3 VPC 終端節點,則存在一個例外,但這是您必須配置的內容,並且它只允許訪問同一區域內的 S3 存儲桶)。

相同的代碼,無需修改,應該可以在內部和外部工作。

您還可以將專用的 URL 直接分配給您的 Lambda,而無需使用 API 網關。

https://docs.aws.amazon.com/lambda/latest/dg/urls-invocation.html

我假設您將 API 網關與 Lambda 連接,並且測試調用按預期工作。 您缺少的最后一步是部署。 您必須部署 API 網關才能從外部調用它。 在 API Gateway 部分中,單擊“操作”按鈕,然后單擊“部署 API”。 部署后,您將收到一個 URL,您可以通過 CURL 調用該 URL 來調用您的 Lambda。 我希望這能幫助你進一步。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM