기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS SAM CLI 구성 파일
AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)는 구성에 사용할 수 있는 프로젝트 수준 구성 파일을 지원합니다. AWS SAM CLI 명령 파라미터 값.
구성 파일 작성 및 사용에 대한 설명서는 AWS SAM CLI 구성 섹션을 참조하세요.
기본 구성 파일 설정
AWS SAM 는 다음과 같은 기본 구성 파일 설정을 사용합니다.
-
이름 –
samconfig
. -
위치 - 프로젝트의 루트에 있습니다. 이 위치는 귀하의
template.yaml
파일과 같은 위치입니다. -
포맷 -
TOML
. 자세한 내용은 TOML의 섹션을 참조하세요. TOML 설명서 .
다음은 기본 구성 파일 이름 및 위치가 포함된 예제 프로젝트 구조입니다.
sam-app ├── README.md ├── __init__.py ├── events ├── hello_world ├── samconfig.toml ├── template.yaml └── tests
다음은 samconfig.toml
파일의 예입니다.
... version = 0.1 [default] [default.global] [default.global.parameters] stack_name = "sam-app" [default.build.parameters] cached = true parallel = true [default.deploy.parameters] capabilities = "CAPABILITY_IAM" confirm_changeset = true resolve_s3 = true [default.sync.parameters] watch = true [default.local_start_api.parameters] warm_containers = "EAGER" [prod] [prod.sync] [prod.sync.parameters] watch = false
지원되는 구성 파일 형식
TOML
및 [YAML|YML]
형식이 지원됩니다. 다음 기본 명령문을 참조하세요.
TOML
version = 0.1 [
environment
] [environment
.command
] [environment
.command
.parameters]option
=parameter value
YAML
version: 0.1
environment
:command
: parameters:option
:parameter value
구성 파일을 지정합니다.
기본적으로 AWS SAM CLI 는 다음 순서로 구성 파일을 찾습니다.
-
사용자 지정 구성 파일 -
--config-file
옵션을 사용하여 파일 이름과 위치를 지정하는 경우 AWS SAM CLI 는 먼저 이 파일을 찾습니다. -
기본
samconfig.toml
파일 - 이는 귀하의 프로젝트의 루트에 있는 기본 구성 파일 이름 및 형식입니다. 사용자 지정 구성 파일을 지정하지 않으면 AWS SAM CLI 는 다음으로 이 파일을 찾습니다. -
samconfig.[yaml|yml]
파일 -samconfig.toml
가 프로젝트의 루트에 없는 경우 AWS SAM CLI 는 이 파일을 찾습니다.
다음은 --config-file
옵션을 사용하여 사용자 지정 구성 파일을 지정하는 예시입니다.
$
sam deploy --config-file myconfig.yaml
참고
--config-file
파라미터는 AWS SAM 템플릿 파일의 위치를 기준으로 해야 합니다. AWS SAM CLI 는 구성이 적용되는 컨텍스트를 결정해야 합니다. samconfig.toml
파일은 의 버전에 대한 구성 설정을 관리합니다. AWS SAM CLI및 는 samconfig.toml
파일의 상대적 폴더에서 파일(또는 재정의된 구성 template.yaml
파일 파라미터)을 CLI 찾습니다.
구성 파일 기본 사항
환경
환경은 고유한 구성 설정 세트를 포함하는 명명된 식별자입니다. 단일 AWS SAM 애플리케이션에 여러 환경을 가질 수 있습니다.
환경 이름 기본은 default
입니다.
사용 AWS SAM CLI --config-env
사용할 환경을 지정하는 옵션입니다.
Command
명령은 AWS SAM CLI 에 대한 파라미터 값을 지정하는 명령입니다.
모든 명령의 파라미터 값을 지정하려면 global
식별자를 사용합니다.
를 참조할 때 AWS SAM CLI 명령: 공백(
)과 하이픈(–
)을 밑줄()로 바꿉니다_
. 다음 예를 참조하세요.
-
build
-
local_invoke
-
local_start_api
파라미터
파라미터는 키-값 페어로 지정됩니다.
-
키는 AWS SAM CLI 명령 옵션 이름입니다.
-
값은 지정할 값입니다.
키를 지정할 때는 긴 형식의 명령 옵션 이름을 사용하고 하이픈(–
)을 밑줄(_
)로 바꿉니다. 예를 들어, 다음과 같습니다.
-
region
-
stack_name
-
template_file
파라미터 값 규칙
TOML
-
부울 값은
true
또는false
일 수 있습니다. 예:confirm_changeset = true
. -
문자열 값에는 따옴표(
""
)를 사용합니다. 예:region = "us-west-2"
. -
목록 값에는 따옴표(
""
)를 사용하고 공백(capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"
. -
키-값 쌍의 목록이 포함된 값의 경우 쌍은 공백으로 구분되고(
\" \"
) 로 묶습니다. 예:tags = "project=\"my-application\" stage=\"production\""
. -
여러 번 지정할 수 있는 파라미터 값의 경우, 값은 인수의 배열입니다. 예:
image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]
.
YAML
-
부울 값은
true
또는false
일 수 있습니다. 예:confirm_changeset: true
. -
단일 문자열 값을 포함하는 항목의 경우 따옴표(
""
)는 선택 사항입니다. 예:region: us-west-2
. 여기에는 단일 문자열로 제공되는 여러 키-값 쌍을 포함하는 항목이 포함됩니다. 다음은 그 예제입니다.$
sam deploy --tags "foo=bar hello=world"
default: deploy: parameters: tags: foo=bar hello=world
-
값 목록이 포함된 항목 또는 단일 명령으로 여러 번 사용할 수 있는 항목의 경우 해당 항목을 문자열 목록으로 지정합니다.
다음은 그 예제입니다.
$
sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
default: remote_invoke: parameter: - InvocationType=Event - LogType=None
구성 우선 순위
값을 구성할 때는 다음과 같은 우선 순위가 적용됩니다.
-
명령줄에서 제공하는 파라미터 값은 템플릿 파일의 구성 파일 및
Parameters
섹션에 있는 해당 값보다 우선합니다. -
명령줄이나 구성 파일에서
parameter_overrides
키와 함께--parameter-overrides
옵션을 사용하는 경우 해당 값이 템플릿 파일Parameters
섹션의 값보다 우선합니다. -
구성 파일에서 특정 명령에 대해 제공된 항목이 글로벌 항목보다 우선합니다. 다음 예제에서
sam deploy
명령은my-app-stack
스택 이름을 사용합니다.
구성 파일 생성 및 수정
구성 파일 생성
sam init
를 사용하여 애플리케이션을 만들면 기본으로 samconfig.toml
파일이 생성됩니다. 구성 파일을 수동으로 생성할 수도 있습니다.
구성 파일 수정
구성 파일을 수동으로 수정할 수 있습니다. 또한 AWS SAM CLI 대화형 흐름, 구성된 값은 괄호()로 표시됩니다[ ]
. 이러한 값을 수정하면 AWS SAM CLI 가 구성 파일을 업데이트합니다.
다음은 sam deploy --guided
명령을 사용하는 대화형 흐름의 예입니다.
$
sam deploy --guided
Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:ENTER
AWS Region [us-west-2]:ENTER
#Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]:n
#SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]:ENTER
#Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]:ENTER
HelloWorldFunction may not have authorization defined, Is this okay? [y/N]:y
Save arguments to configuration file [Y/n]:ENTER
SAM configuration file [samconfig.toml]:ENTER
SAM configuration environment [default]:ENTER
구성 파일을 수정할 때 AWS SAM CLI 는 다음과 같이 전역 값을 처리합니다.
-
구성 파일의
global
섹션에 파라미터 값이 있는 경우 AWS SAM CLI 는 특정 명령 섹션에 값을 쓰지 않습니다. -
파라미터 값이
global
및 특정 명령 섹션 모두에 있는 경우 AWS SAM CLI 는 글로벌 값에 유리한 특정 항목을 삭제합니다.