1

我正在努力將此解決方案https://github.com/adieuadieu/serverless-chrome擴展到我的需要。如何從CloudFormation管理控制檯獲取工作模板?

我使用無服務器(在我的筆記本電腦上使用Debian 9)將其部署到AWS Lambda。我想使用AWS-Sam-local https://github.com/awslabs/aws-sam-local在本地運行它進行開發。

我想使用AWS-Sam-local,因爲我相信通過serverless webpack serve --function runsam local start-api運行此解決方案是有區別的。我認爲的區別是我想要製作的event對象包含POST或二進制數據(多部分文件傳輸)。爲此,我必須允許通過API網關進行二進制傳輸。 但糾正我,如果我錯了,因爲我在AWS和無服務器領域完全綠色,這是我第一次與這些技術。

我得到的問題是aws-sam-local需要CloudFormation模板知道如何運行serverless-chrome項目。如果我將部署到AWS並轉到CloudFormation控制檯,則可以在「堆棧」表中選擇它並單擊「模板」選項卡後複製該模板。然後我使用cfn-flip將JSON轉換爲YAML。最後我得到了template.yml,但運行sam local start-api給我的錯誤:

2017/10/06 11:03:23 Connected to Docker 1.32 
ERROR: No Serverless functions were found in your SAM template. 

請告訴我要怎麼做才能讓serverless-chrome在本地運行,因爲它會在AWS上運行LAMBDA。

回答

2

模板無服務器用於部署在兩個地方可供選擇:

  • 遠程,在S3部署桶
  • 本地,在.serverless/
+0

這就是我也是從'嘗試。 serverless/cloudformation-template-update-stack.json template.yml'但是得到了同樣的錯誤ERROR:在你的SAM模板中找不到無服務器功能。:( – Marecky

+0

我認爲雲形成堆棧不兼容。你已經在使用無服務器,爲什麼不使用serverless-offline插件? –

+0

我不知道它存在,我會去檢查該插件。 – Marecky