sam deploy의 새로운 옵션 (--config-env, --config-file) 동작 확인

0. 전치



조금 전에 sam deploy 스펙이 정리되어 samconfig.toml을 참조하여 배포합니다.
htps : //에서 v.ぁsss d. jp / r chi c ぇ s / a ws - m-m mp ぃ ふぃえ s - p ぉ y 면 t /

3주일 전에 --config-env와 --config-file이라는 옵션이 추가된 것 같습니다.
htps : // / cs. 아 ws. 아마존. 코 m / 세 r ょ ぇ ぇ s ぃ ぃ か ち ー ー ㅇ 곤후 g. HTML#루루 s
htps : // 기주 b. 코 m/아ws/아ws-사 mcぃ/푸 l/2176

동작 확인합니다.

A. 결론



아래입니다.


옵션
가설


--config-env [environment]
samconfig.toml에 설명된 환경별 설정 로드

--config-file [filename]
[filename]을 설정 파일로 불러오기


※조합 가능

1. 기본 정보



1-1. 환경




품목
버전


macOS
mojave 10.14.6

아나콘카
4.8.3

파이썬
3.6

aws-sam-cli
1.6.2


※사용하려고 하고 있는 최근의 안건에 맞추어 python3.6

1-2. 검증 절차




아니
분류
명령
개요


1
default
sam deploy
기본 설정 파일의 default 실행

2
test1
sam deploy --config-env test1
기본 설정 파일 test1 실행

3
test2
sam deploy --config-file another-config.toml
추가 구성 파일의 default 실행

4
test3
sam deploy --config-file another-config.toml --config-env test3
추가 구성 파일 test3 실행


1-3. 설정 파일



구성 그룹의 헤더에 [environment.command.parameters]를 작성합니다.
--config-env를 붙이지 않으면 environment가 default입니다.
environment 에는 임의의 캐릭터 라인을 설정합니다.
command는 사용하는 명령을 지정합니다.

1-3-1. 기본 설정 파일



samconfig.toml
version = 1.0
[default.deploy.parameters]
stack_name = "default-stack"
s3_bucket = "sam-deploy-option-bucket-1"
region = "ap-southeast-1"
profile = "default-stack"
confirm_changeset = true
capabilities = "CAPABILITY_IAM"
parameter_overrides="Environment=default"

[test1.deploy.parameters]
stack_name = "test1-stack"
s3_bucket = "sam-deploy-option-bucket-1"
region = "ap-southeast-1"
profile = "test-sam1"
confirm_changeset = true
capabilities = "CAPABILITY_IAM"
parameter_overrides="Environment=test1"

1-3-2. 추가 구성 파일



another-config.toml
version = 1.0
[default.deploy.parameters]
stack_name = "test2-stack"
s3_bucket = "sam-deploy-option-bucket-3"
region = "ap-southeast-1"
profile = "test-sam2"
confirm_changeset = true
capabilities = "CAPABILITY_IAM"
parameter_overrides="Environment=test2"

[test3.deploy.parameters]
stack_name = "test3-stack"
s3_bucket = "sam-deploy-option-bucket-4"
region = "ap-southeast-1"
profile = "test-sam3"
confirm_changeset = true
capabilities = "CAPABILITY_IAM"
parameter_overrides="Environment=test3"


2. 검증



2-1. 기본 설정 파일의 default 실행



옵션을 지정하지 않고 실행합니다.
$ sam deploy

default-stack을 호출해야 합니다.
Deploying with following values
===============================
Stack name                 : default-stack
Region                     : ap-southeast-1
Confirm changeset          : True
Deployment s3 bucket       : sam-deploy-option-bucket-1
Capabilities               : ["CAPABILITY_IAM"]
Parameter overrides        : {'Environment': 'default'}

default-stack이 호출되었습니다.

2-2. 기본 설정 파일 test1 실행



--config-env에서 test1을 지정합니다.
$ sam deploy --config-env test1

test1-stack이 호출되어야 합니다.
Deploying with following values
===============================
Stack name                 : test1-stack
Region                     : ap-southeast-1
Confirm changeset          : True
Deployment s3 bucket       : sam-deploy-option-bucket-2
Capabilities               : ["CAPABILITY_IAM"]
Parameter overrides        : {'Environment': 'test1'}

test1-stack이 호출되었습니다.

2-3. 추가 구성 파일의 default 실행


$ sam deploy --config-file another-config.toml

another-config.toml의 default이므로 test2-stack이 될 것입니다.
Deploying with following values
===============================
Stack name                 : test2-stack
Region                     : ap-southeast-1
Confirm changeset          : True
Deployment s3 bucket       : sam-deploy-option-bucket-3
Capabilities               : ["CAPABILITY_IAM"]
Parameter overrides        : {'Environment': 'test2'}

test2-stack이 호출되었습니다.

2-4. 추가 구성 파일 test3 실행


sam deploy --config-file another-config.toml --config-env test3

두 가지 옵션의 조합 기술입니다. test3-stack이 되어야 합니다.
Deploying with following values
===============================
Stack name                 : test3-stack
Region                     : ap-southeast-1
Confirm changeset          : True
Deployment s3 bucket       : sam-deploy-option-bucket-4
Capabilities               : ["CAPABILITY_IAM"]
Parameter overrides        : {'Environment': 'test3'}

test3-stack이 호출되었습니다.

3. 생성된 스택 확인



별도의 스택이 생성되었습니다.


4. 결론



아래와 같습니다.


옵션
가설


--config-env [environment]
samconfig.toml에 설명된 환경별 설정 로드

--config-file [filename]
[filename]을 설정 파일로 불러오기


※조합 가능

하나의 설정 파일에 환경별의 설정을 기술해도 좋고, 환경 파일을 따로 준비해도 좋아졌습니다.
원했던 기능이 정식으로 구현되었으므로 솔직하게 기쁘네요.

X. 여담



이번 재료는 영어판의 문서를 바라보고 있으면 우연히 발견했습니다. 아직 일본어판에는 실려 있지 않습니다. (2020/10/10 현재)
이러한 번역판의 갱신의 늦음 이외에, aws의 문서가 자동 번역에 의지하기 시작하고 있는지, 펑키한 일본어가 되어 있는 것이 있습니다. 예를 들어 아래의 KMS 기사입니다.
htps : // / cs. 아 ws. 아마존. 이 m / 그럼 _ jp / kms / ㅁ st / ゔ ぇぺぺ ぐ い / こんせ pts. HTML
원문으로 읽을 수 있는 영어 능력을 익히거나 영어 기사를 chrome으로 열어 일본어 번역해 읽기로 합니다.

좋은 웹페이지 즐겨찾기