2017-04-26 35 views
1

我正在使用AWS SAM(無服務器應用程序模型)創建帶有API端點的lambda。AWS無服務器應用程序模型(SAM) - 如何更改StageName?

在我的SAM template.yaml中,我有一個帶有/ user端點的getUser lambda。

template.yaml

Resources: 
    GetUser: 
    Type: AWS::Serverless::Function 
    Properties: 
     CodeUri: ./src 
     Handler: handler.getUser 
     Timeout: 300 
     Runtime: nodejs6.10 
     Events: 
     GetUser: 
      Type: Api 
      Properties: 
      Path: /user 
      Method: get 

當我部署此使用AWS CLI它成功地造成了lambda和終點,但有一個API網關舞臺混淆的命名爲 「舞臺」。我想把舞臺名稱改成別的東西,比如「Prod」。我如何更改舞臺名稱?

以下是部署階段名稱在部署後定義在雲信息模板中的位置。我想要「StageName」:「Stage」就像「StageName」:「Prod」。

"ServerlessRestApiDeployment": { 
    "Type": "AWS::ApiGateway::Deployment", 
    "Properties": { 
    "RestApiId": { 
     "Ref": "ServerlessRestApi" 
    }, 
    "StageName": "Stage" 
    } 

回答

2

我一直無法去除Stage藝名,但是當我部署使用SAM,我使用了一個充滿活力藝名在我GatewayAPI部署:

Properties: StageName: !Ref "STAGE_VARIABLE"

我有一個不同爲每個環境堆棧,所以有prod API與prod階段和dev API與dev階段。我發現這比同一個GatewayAPI的多階段部署更容易

+0

感謝您的回覆! –

+0

嘿,布賴恩,有點偏,但我正在嘗試設置多個堆棧來部署不同的階段,有什麼機會可以讓我指向正確的方向? – theSiberman

相關問題