簡體   English   中英

AWS Lambda 鏈接最佳實踐

[英]AWS Lambda chaining best practice

我正在為我的問題尋找解決方案,也許有人可以給我一些想法。 我有一個插入到aws lambda A 的API Gateway 。我必須處理這樣的情況:

  1. Lambda A 應該調用 lambda B,如果有任何結果,則返回 API Gateway。
  2. Lambda A 應該調用 lambda B,如果沒有結果,它將調用 lambda C,然后將結果返回給APi Gateway

所以,我的問題是如何鏈接這些 lambda,因為我不想擁有一個巨大的 lambda。 起初,我考慮使用Step Functions ,但它在異步模式下工作,所以對我的情況沒有好處。 我知道我可以做一個 lambda 來調用 step 函數並等待結果,但我不喜歡這個解決方案。

有什么好的解決方案的想法嗎?

謝謝。

抄送

您可以使用帶有“異步等待”的調用 lambda,這是文檔:

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invoke-property

對於異步調用: https ://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Lambda.html#invokeAsync-property

您可以使用AWS Step Function管理 AWS lambda 函數之間的協調。

真的 B & C 是 A 調用的 api

使用 IAM auth 將 lambda B & C 放在另一個 api 網關后面。 授予 A 通過您的 IAM 角色調用該 API 的權利。

  • 現在,您的外部客戶通過任何身份驗證方案調用 A。
  • A 可以通過 api 調用 B 或 C(可能是 url 作為參數)
  • A 可以將結果返回給調用者

對於更精細的方法,您可以將 B/C 作為它們自己的 api 網關,這意味着您已經將它們完全解耦

MiniEdit:對於這樣的事情,我現在也考慮使用 Lambda 函數 URL: https ://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html

暫無
暫無

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

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