sam sync - AWS Serverless Application Model

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

sam sync

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam sync 명령.

sam sync 명령은 로컬 애플리케이션 변경 내용을 AWS 클라우드에 동기화합니다.

사용량

$ sam sync <options>

옵션

--base-dir, -s DIRECTORY

이 디렉터리에 대해 함수 또는 계층의 소스 코드에 대한 상대 경로를 확인합니다. 이 옵션을 사용하여 소스 코드 폴더의 상대 경로를 확인하는 방법을 변경할 수 있습니다. 기본적으로 상대 경로는 AWS SAM 템플릿의 위치와 관련하여 확인됩니다.

이 옵션은 빌드 중인 루트 애플리케이션 또는 스택의 리소스 외에도 중첩된 애플리케이션 또는 스택에도 적용됩니다. 또한 이 옵션은 다음 리소스 유형 및 속성에도 적용됩니다.

  • 리소스 유형: AWS::Serverless::Function 속성: CodeUri

  • 리소스 유형: AWS::Serverless::Function 리소스 속성: Metadata 항목: DockerContext

  • 리소스 유형: AWS::Serverless::LayerVersion 속성: ContentUri

  • 리소스 유형: AWS::Lambda::Function 속성: Code

  • 리소스 유형: AWS::Lambda::LayerVersion 속성: Content

--build-image TEXT

애플리케이션을 빌드할 때 사용하려는 컨테이너 이미지URI의 입니다. 기본적으로 는 Amazon Elastic Container Registry(Amazon ) Public URI 의 컨테이너 이미지 리포지토리를 AWS SAM 사용합니다. ECR 다른 이미지를 사용하려면 이 옵션을 지정합니다.

단일 명령에서 이 옵션을 여러 번 사용할 수 있습니다. 각 옵션은 문자열 또는 키-값 쌍을 허용합니다.

  • 문자열 - 애플리케이션의 모든 리소스가 사용할 컨테이너 이미지URI의 를 지정합니다. 다음은 그 예제입니다.

    $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  • 키-값 페어 - 리소스 이름을 키로 지정하고 해당 리소스에 URI 사용할 컨테이너 이미지를 값으로 지정합니다. 이 형식을 사용하여 애플리케이션의 각 리소스에 URI 대해 다른 컨테이너 이미지를 지정합니다. 다음은 그 예제입니다.

    $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8

이 옵션은 --use-container 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

--build-in-source | --no-build-in-source

소스 폴더에서 프로젝트를 직접 빌드하기 위한 --build-in-source를 제공합니다.

--build-in-source 옵션은 다음과 같은 런타임과 빌드 메서드를 지원합니다.

  • 런타임 - 모든 Node.js sam init --runtime 옵션에서 지원하는 런타임입니다.

  • 빌드 메서드 - Makefile, esbuild.

--build-in-source 옵션은 다음 옵션과 호환되지 않습니다.

  • --use-container

기본값: --no-build-in-source

--capabilities LIST

가 특정 스택을 AWS CloudFormation 생성하도록 허용하도록 지정하는 기능 목록입니다. 일부 스택 템플릿에는 의 권한에 영향을 미칠 수 있는 리소스가 포함될 수 있습니다 AWS 계정. 예를 들어, 새 AWS Identity and Access Management (IAM) 사용자를 생성합니다. 기본값을 재정의하려면 이 옵션을 지정합니다. 유효한 값은 다음과 같습니다.

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_RESOURCE_POLICY

  • CAPABILITY_AUTO_EXPAND

기본값: CAPABILITY_NAMED_IAMCAPABILITY_AUTO_EXPAND

--code

기본적으로 는 애플리케이션의 모든 리소스를 AWS SAM 동기화합니다. 다음을 포함하는 코드 리소스만 동기화하려면 이 옵션을 지정합니다.

  • AWS::Serverless::Function

  • AWS::Lambda::Function

  • AWS::Serverless::LayerVersion

  • AWS::Lambda::LayerVersion

  • AWS::Serverless::Api

  • AWS::ApiGateway::RestApi

  • AWS::Serverless::HttpApi

  • AWS::ApiGatewayV2::Api

  • AWS::Serverless::StateMachine

  • AWS::StepFunctions::StateMachine

코드 리소스를 동기화하려면 를 통해 배포하는 대신 AWS 서비스를 APIs 직접 AWS SAM 사용합니다 AWS CloudFormation. AWS CloudFormation 스택을 업데이트하려면 sam sync --watch 또는 를 실행합니다sam deploy.

--config-env TEXT

사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 “기본값”입니다. 구성 파일에 대한 자세한 내용은 AWS SAM CLI 구성 파일 섹션을 참조하세요.

--config-file PATH

사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트에 있는 “samconfig.toml“입니다. 구성 파일에 대한 자세한 내용은 AWS SAM CLI 구성 파일 섹션을 참조하세요.

--dependency-layer | --no-dependency-layer

동기화 프로세스의 속도를 높이기 위해 개별 함수의 종속성을 다른 계층으로 분리할지 여부를 지정합니다.

기본값: --dependency-layer

--image-repository TEXT

이 명령이 함수의 이미지를 업로드하는 Amazon Elastic Container Registry(AmazonECR) 리포지토리의 이름입니다. Image 패키지 유형으로 선언된 함수에 필요합니다.

--image-repositories TEXT

Amazon ECR리포지토리 에 함수 매핑. URI 논리적 ID의 함수 참조. 다음은 그 예제입니다.

$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo

이 옵션은 하나의 명령에서 여러 번 지정할 수 있습니다.

--kms-key-id TEXT

Amazon S3 버킷에 저장된 아티팩트를 암호화하는 데 사용되는 AWS Key Management Service (AWS KMS) 키의 ID입니다. 이 옵션을 지정하지 않으면 는 Amazon S3-managed 암호화 키를 AWS SAM 사용합니다.

--metadata

템플릿에서 참조하는 모든 아티팩트에 연결할 메타데이터 맵.

--notification-arns LIST

스택과 ARNs AWS CloudFormation 연결된 Amazon Simple Notification Service(AmazonSNS) 주제 목록입니다.

--parameter-overrides

AWS CloudFormation 파라미터 재정의가 포함된 문자열은 키-값 페어로 인코딩됩니다. AWS Command Line Interface ()와 동일한 형식을 사용합니다AWS CLI. 는 AWS SAM CLI 형식은 명시적 키 및 값 키워드이며 각 재정의는 공백으로 구분됩니다. 다음은 두 가지 예제입니다.

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--resource TEXT

동기화할 리소스 유형을 지정합니다. 여러 리소스를 동기화하기 위해 이 옵션을 여러 번 지정할 수 있습니다. 이 옵션은 --code 옵션과 함께 지원됩니다. 이 값은 --code에 나열된 리소스 중 하나여야 합니다. 예: --resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion.

--resource-id TEXT

동기화할 리소스 ID를 지정합니다. 여러 리소스를 동기화하기 위해 이 옵션을 여러 번 지정할 수 있습니다. 이 옵션은 --code 옵션과 함께 지원됩니다. 예: --resource-id Function1 --resource-id Function2.

--role-arn TEXT

변경 사항을 적용할 때 가 수 AWS CloudFormation 임하는 IAM 역할의 Amazon 리소스 이름(ARN)입니다.

--s3-bucket TEXT

이 명령이 AWS CloudFormation 템플릿을 업로드하는 Amazon Simple Storage Service(Amazon S3) 버킷의 이름입니다. 템플릿이 51,200바이트를 초과하는 경우 --s3-bucket 또는 --resolve-s3 옵션이 필요합니다. --s3-bucket--resolve-s3 옵션을 모두 지정하면 오류가 발생합니다.

--s3-prefix TEXT

Amazon S3 버킷에 업로드하는 아티팩트의 이름에 추가되는 접두사. 접두사 이름은 Amazon S3 버킷의 경로 이름(폴더 이름)입니다. 이는 Zip 패키지 유형으로 선언된 함수에만 적용됩니다.

--save-params

명령줄에서 제공하는 파라미터를 AWS SAM 구성 파일에 저장합니다.

--skip-deploy-sync | --no-skip-deploy-sync

필요하지 않은 경우 초기 인프라 동기화를 건너뛰는 --skip-deploy-sync를 지정합니다. AWS SAM은 CLI 는 로컬 AWS SAM 템플릿을 배포된 AWS CloudFormation 템플릿과 비교하고 변경이 감지된 경우에만 배포를 수행합니다.

sam sync 실행될 때마다 AWS CloudFormation 배포를 --no-skip-deploy-sync 수행하도록 지정합니다.

자세한 내용은 초기 AWS CloudFormation 배포 건너뛰기 섹션을 참조하세요.

기본값: --skip-deploy-sync

--stack-name TEXT

애플리케이션의 AWS CloudFormation 스택 이름입니다.

이 옵션은 필수입니다.

--tags LIST

생성되거나 업데이트된 스택과 연결할 태그 목록입니다. AWS CloudFormation 또한 이러한 태그를 지원하는 스택의 리소스에 전파합니다.

--template-file, --template, -t PATH

AWS SAM 템플릿이 위치한 경로 및 파일 이름입니다.

참고

이 옵션을 지정하면 는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 배포합니다.

--use-container, -u

함수가 기본적으로 컴파일된 종속성이 있는 패키지에 의존하는 경우 이 옵션을 사용하여 AWS Lambda와 같은 Docker 컨테이너.

참고

현재 이 옵션은 --dependency-layer와 호환되지 않습니다. --use-container 와 함께 --dependency-layer를 사용하는 경우 AWS SAM CLI 는 사용자에게 알리고 를 계속 진행합니다--no-dependency-layer.

--watch

로컬 애플리케이션의 변경 사항을 관찰하고 에 자동으로 동기화하는 프로세스를 시작합니다 AWS 클라우드. 기본적으로 이 옵션을 지정하면 는 애플리케이션의 모든 리소스를 업데이트하면서 AWS SAM 동기화합니다. 이 옵션을 사용하면 가 초기 AWS CloudFormation 배포를 AWS SAM 수행합니다. 그런 다음 AWS 서비스를 AWS SAM 사용하여 코드 리소스를 APIs 업데이트합니다. AWS SAM 는 AWS SAM 템플릿을 업데이트할 때 AWS CloudFormation 를 사용하여 인프라 리소스를 업데이트합니다.

--watch-exclude TEXT

파일 또는 폴더를 파일 변경 관찰 대상에서 제외합니다. 이 옵션을 사용하려면 --watch 도 제공해야 합니다.

이 옵션은 다음과 같은 키-값 페어를 수신합니다.

  • — 애플리케이션에 있는 Lambda 함수의 논리적 ID.

  • - 제외할 관련 파일 이름 또는 폴더.

--watch-exclude 옵션으로 지정된 파일 또는 폴더를 업데이트하면 AWS SAM CLI 는 동기화를 시작하지 않습니다. 하지만 다른 파일이나 폴더에 대한 업데이트로 인해 동기화가 시작하면 해당 파일 또는 폴더가 해당 동기화에 포함됩니다.

단일 명령에서 이 옵션을 여러 번 제공할 수 있습니다.

예시

이 명령을 사용하는 예제는 sam sync 명령의 옵션 섹션을 참조하세요.