2017-12-22 10 views
0

Serverless 프레임 워크를 사용하는 다른 서비스와 다른 환경에서 다른 리소스를 사용하고 싶습니다.단계에 따라 serverless 프레임 워크에서 다른 리소스를 처리하는 방법

나는 포함 dev-resources.yml라는 이름의 파일에 모든 자원을 넣어 :

Resources: 

    SQSQueue: 
     Type: AWS::SQS::Queue 
     Properties: 
     QueueName: ${self:service}-${self:provider.stage}-queue 

    SNSTopic: 
     Type: AWS::SNS::Topic 
     Properties: 
     DisplayName: APU SNS Topic 
     TopicName: ${self:service}-${self:provider.stage}-topic 

    SNSSubscription: 
     Type: AWS::SNS::Subscription 
     Properties: 
      Endpoint: [email protected] 
      Protocol: email 
      TopicArn: { "Fn::Join" : ["", ["arn:aws:sns:${self:provider.region}:", { "Ref" : "AWS::AccountId" }, ":${self:resources.Resources.SNSTopic.Properties.TopicName}" ] ] } 

을 그리고 나는 이런 식으로 가져하기 위해 노력하고있어 :

resources: ${file(./${self:provider.stage}-resources.yml)} 

을하지만 serverless deploy를 실행하려고하면, 아무것도하지 않고 붙어 버렸습니다. 여기

당신이 디버그와 무슨 지느러미 수 있습니다

Serverless: Load command run 
Serverless: Load command config 
Serverless: Load command config:credentials 
Serverless: Load command create 
Serverless: Load command install 
Serverless: Load command package 
Serverless: Load command deploy 
Serverless: Load command deploy:function 
Serverless: Load command deploy:list 
Serverless: Load command deploy:list:functions 
Serverless: Load command invoke 
Serverless: Load command invoke:local 
Serverless: Load command info 
Serverless: Load command logs 
Serverless: Load command login 
Serverless: Load command logout 
Serverless: Load command metrics 
Serverless: Load command print 
Serverless: Load command remove 
Serverless: Load command rollback 
Serverless: Load command rollback:function 
Serverless: Load command slstats 
Serverless: Load command plugin 
Serverless: Load command plugin 
Serverless: Load command plugin:install 
Serverless: Load command plugin 
Serverless: Load command plugin:uninstall 
Serverless: Load command plugin 
Serverless: Load command plugin:list 
Serverless: Load command plugin 
Serverless: Load command plugin:search 
Serverless: Load command emit 
Serverless: Load command config 
Serverless: Load command config:credentials 
Serverless: Load command rollback 
Serverless: Load command rollback:function 

무슨 일이 일어나고 있는지에 대한 어떤 제안? 또는 다른 단계에서 다른 리소스를 사용하는 방법은 무엇입니까?

+0

전체'serverless.yml' 파일을 게시하는 경우 도움이 될 수 있습니다. – dashmug

답변

0

저는 서버가없는 초보자입니다. 정말 설치가 작동하지 않는 이유를 모른다. serverless deploy --stage prod으로 배포를 명시 적으로 호출하면 ..? 개인적으로

, 당 단계 환경을 사용하는 내가 this setup 다음 해요 :

serverless.yml에서 :

다음
provider: 
    ... 
    environment: 
    MY_VAR: "${self:custom.secrets.MY_VAR}" 
... 
custom: 
    stage: ${opt:stage, self:provider.stage} 
    secrets: ${file(secrets.yml):${self:custom.stage}} 

secrets.yml에 :

default: &default 
    <<: *default 
    MY_VAR: "foo bar" 

dev: 
    <<: *default 

stage: 
    <<: *default 

prod: 
    <<: *default 
    MY_VAR: "something else for prod" 

다음 serverless deploy --stage prod으로는 변수를 조종 잡아 당긴다.