sam remote invoke - AWS Serverless Application Model

sam remote invoke

이 페이지는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam remote invoke 명령에 대한 참조 정보를 제공합니다.

sam remote invoke 명령은 AWS 클라우드에 속한 지원되는 리소스를 호출합니다.

사용량

$ sam remote invoke <arguments> <options>

인수

리소스 ID

호출할 지원 리소스의 ID.

이 인수는 다음 값으로 지정할 수 있습니다.

  • Amazon 리소스 이름(ARN) – 리소스의 ARN입니다.

    작은 정보

    귀하의 리소스의 ARN을 구하는데 sam list stack-outputs --stack-name <stack-name>을 사용합니다.

  • 논리적 ID - 리소스의 논리적 ID 또한 --stack-name 옵션을 사용하여 AWS CloudFormation 스택 이름을 제공해야 합니다.

  • 물리적 ID – 리소스의 물리적 ID. 이 ID는 귀하가 AWS CloudFormation를 사용하여 리소스를 배포할 때 생성됩니다.

    작은 정보

    귀하의 리소스의 물리적 ID를 얻는데 sam list resources --stack-name <stack-name>을 사용합니다.

ARN 또는 물리적 ID를 제공하는 경우:

ARN 또는 물리적 ID를 제공하는 경우 스택 이름을 제공하지 마십시오. --stack-name 옵션을 사용하여 스택 이름을 제공하거나 귀하의 구성 파일에 스택 이름이 정의되면, AWS SAM CLI은 귀하의 리소스 ID를 AWS CloudFormation 스택의 논리적 ID 값으로 자동 처리합니다.

귀하가 리소스 ID를 제공하지 않는 경우:

귀하가 리소스 ID를 제공하지 않고 --stack-name 옵션과 함께 스택 이름을 제공하는 경우, AWS SAM CLI는 다음 로직을 사용하여 귀하의 AWS CloudFormation 스택의 리소스를 자동으로 호출하려고 시도합니다.

  1. AWS SAMCLI는 다음과 같은 순서로 리소스 유형을 식별하고 스택에서 리소스 유형을 찾으면 다음 단계로 이동합니다.

    1. Lambda

    2. Step Functions

    3. Amazon SQS

    4. Kinesis Data Streams

  2. 리소스 유형의 스택에 단일 리소스가 있는 경우 해당 리소스가 AWS SAM CLI 호출됩니다. 귀하의 스택에 해당 리소스 유형의 리소스가 여러 개 있는 경우 AWS SAM CLI는 오류를 반환합니다.

다음은 AWS SAM CLI이 수행할 작업의 예시입니다.

  • 두 개의 Lambda 함수와 Amazon SQS 대기열을 포함하는 스택 – 스택에는 Lambda 함수가 두 개 이상 포함되어 있으므로 Lambda 리소스 유형을 찾아 반환하고 오류를 반환합니다. AWS SAM CLI

  • Lambda 함수 1개와 Amazon Kinesis Data Streams 애플리케이션 2개를 포함하는 스택 – 이 스택은 단일 Lambda 리소스를 포함하므로, AWS SAM CLI이 Lambda 함수를 찾아 호출합니다.

  • 단일 Amazon SQS 대기열과 두 개의 Kinesis Data Streams 애플리케이션을 포함하는 스택 – 이 스택은 Amazon SQS 대기열을 하나 포함하므로, AWS SAM CLI이 Amazon SQS 대기열을 찾아 호출합니다.

옵션

--beta-features | --no-beta-features

베타 기능을 허용 또는 거부합니다.

--config-env TEXT

귀하의 AWS SAMCLI 구성 파일로부터 사용할 환경을 지정합니다.

기본값: default

--config-file FILENAME

귀하의 구성 파일의 경로 및 이름을 지정합니다.

구성 파일에 대한 자세한 내용은 AWS SAM CLI 구성 섹션을 참조하세요.

기본값: 프로젝트 디렉터리의 루트에 있는 samconfig.toml

--debug

디버그 로깅을 활성화합니다. 이것은 AWS SAM CLI가 생성한 타임스탬프와 디버그 메시지를 인쇄합니다.

--event, -e TEXT

대상 리소스에 전송할 이벤트입니다.

--event-file FILENAME

대상 리소스에 보낼 이벤트가 포함된 파일의 경로입니다.

--help, -h

도움말 메시지를 표시한 후 종료합니다.

--output [ text | json ]

호출 결과를 특정 출력 형식으로 출력합니다.

json – 요청 메타데이터와 리소스 응답이 JSON 구조로 반환됩니다. 응답에는 전체 SDK 출력 결과가 포함됩니다.

text – 요청 메타데이터가 텍스트 구조로 반환됩니다. 리소스 응답은 호출된 리소스의 출력 형식으로 반환됩니다.

--parameter

호출 중인 리소스에 귀하가 전달할 수 있는 추가 Boto3파라미터.

Amazon Kinesis Data Streams

Kinesis 데이터 스트림에 기록을 넣는 데 다음과 같은 추가 파라미터가 사용될 수 있습니다.

  • ExplicitHashKey='string'

  • PartitionKey='string'

  • SequenceNumberForOrdering='string'

  • StreamARN='string'

각 파라미터에 대한 설명은 Kinesis.Client.put_record를 참조하세요.

AWS Lambda

다음과 같은 추가 파라미터를 사용하여 Lambda 리소스를 호출하고 버퍼링된 응답을 받을 수 있습니다.

  • ClientContext='base64-encoded string'

  • InvocationType='[ DryRun | Event | RequestResponse ]'

  • LogType='[ None | Tail ]'

  • Qualifier='string'

다음 추가 파라미터를 사용하여 응답 스트리밍으로 Lambda 리소스를 호출할 수 있습니다.

  • ClientContext='base64-encoded string'

  • InvocationType='[ DryRun | RequestResponse ]'

  • LogType='[ None | Tail ]'

  • Qualifier='string'

각 파라미터에 대한 설명은 다음을 참조하세요.

Amazon Simple Queue Service(Amazon SQS)

Amazon SQS 대기열로 메시지를 보내는 데 다음 추가 파라미터가 사용될 수 있습니다.

  • DelaySeconds=integer

  • MessageAttributes='json string'

  • MessageDeduplicationId='string'

  • MessageGroupId='string'

  • MessageSystemAttributes='json string'

각 파라미터에 대한 설명은 SQS.Client.send_message를 참조하세요.

AWS Step Functions

다음 추가 파라미터는 상태 시스템 실행을 시작하는 데 사용할 수 있습니다.

  • name='string'

  • traceHeader='string'

각 파라미터에 대한 설명은 SFN.Client.start_execution를 참조하세요.

--profile TEXT

AWS 보안 인증 정보를 가져오는 보안 인증 파일의 특정 프로필입니다.

--region TEXT

리소스의 AWS 리전. 예: us-east-1.

--stack-name TEXT

리소스가 속한 AWS CloudFormation 스택의 이름.

--test-event-name NAME

Lambda 함수에 전달할 공유 가능한 테스트 이벤트의 이름.

참고

이 옵션은 Lambda 함수만 지원합니다.

다음 예제에서는 AWS 클라우드에서 지원되는 리소스를 호출하고 디버그 로깅을 활성화하여 AWS SAM CLI에서 생성된 디버그 메시지와 타임스탬프를 출력합니다.

$ sam remote invoke--debug