![](/img/trans.png)
[英]AWS cloudformation template.yml fails when I try to use method OPTIONS for CORS preflight (Lambda)
[英]AWS reference solution for a serverless SaaS system - Error: Template file not found - template.yml
我正在嘗試使用 AWS Cloud9 部署一個 AWS 參考解決方案,它演示了一個示例 SaaS 系統。 解決方案的回購協議在這里:
有一個部署文件可以運行以在 AWS 中引導示例系統 - 它是 repo 中的/aws-saas-factory-ref-solution-serverless-saas/deployment.sh
。
部分部署腳本使用文件/aws-saas-factory-ref-solution-serverless-saas/server/bootstrap-template.yaml
構建引導程序資源,這是一個 CloudFormation 模板。 該腳本然后根據配置文件/aws-saas-factory-ref-solution-serverless-saas/server/samconfig-bootstrap.toml
部署引導程序資源
執行構建和引導程序的./deployment.sh
的相關部分如下。 構建和部署利用 AWS“無服務器應用程序模型”(sam):
sam build -t bootstrap-template.yaml --use-container --region=$REGION
sam deploy --config-file samconfig-bootstrap.toml --region=$REGION --parameter-overrides AdminEmailParameter=$1
當我在 EC2(新加坡區域)上的 Cloud 9 實例上運行./deployment.sh
時,在公共資源引導階段出現以下錯誤:
[11034] Failed to execute script main
sam deploy --config-file samconfig-bootstrap.toml --region=ap-southeast-1 --parameter-overrides AdminEmailParameter=chris.halcrow@elenium.com
Error: Template file not found at /home/ec2-user/environment/aws-saas-factory-ref-solution-serverless-saas/server/template.yml
當我搜索template.yml
的代碼時,我沒有看到任何東西,所以我不確定是什么試圖引用它。 該文件不存在於解決方案中。
此處的指南描述了如何快速設置在 EC2 實例上運行的 AWS Cloud9 環境,可以從其 Github 存儲庫中將解決方案克隆到其中以運行./deployment.sh
腳本 - https://catalog.us- east-1.prod.workshops.aws/workshops/b0c6ad36-0a4b-45d8-856b-8a64f0ac76bb/en-US/pre-requisites/12-own-aws-account
查看構建規范文件(buildspec.yaml 文件用於在 AWS CodeBuild 中為 CI/CD 提供元數據)后,似乎 AWS 團隊正在使用 CI/CD 管道測試部署並忘記更新 shell腳本。
另一方面,您無需擔心構建規范文件。
解決方案
Go 只需將template.yml
更改為tenant-template.yaml
我發現template.yml
是一個通常在構建過程中生成的工件 - 請參閱SAM 部署命令參考
sam deploy
默認情況下,當您使用此命令時,AWS SAM CLI 假定您當前的工作目錄是項目的根目錄。 AWS SAM CLI 首先嘗試找到使用 sam build 命令構建的模板文件,該文件位於 .aws-sam 子文件夾中,名為 template.yaml。
由於運行 Cloud9 的 EC2 實例的 memory 大小不足,似乎沒有創建template.yml
。
此解決方案由@ujwalbukka在以下 git 問題中提供,在參考解決方案的存儲庫中:
https://github.com/aws-samples/aws-saas-factory-ref-solution-serverless-saas/issues/19
為了讓 SaaS 參考解決方案在 Cloud9 中運行,我在 Cloud9 中克隆了一個額外的存儲庫(SaaS 參考解決方案的 AWS研討會的存儲庫)。 我使用git clone https://github.com/aws-samples/aws-serverless-saas-workshop.git
克隆該存儲庫后,我按照此處的步驟運行車間存儲庫中存在的腳本,增加 Cloud9 EC2 實例大小並安裝運行參考解決方案的先決條件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.