sam remote invoke
이 페이지는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam remote invoke
명령에 대한 참조 정보를 제공합니다.
-
AWS SAM CLI에 대한 소개는 AWS SAMCLI란 무엇인가요? 섹션을 참조하세요.
-
AWS SAM CLI
sam remote invoke
명령 사용에 대한 가이드는 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 스택의 리소스를 자동으로 호출하려고 시도합니다.-
AWS SAMCLI는 다음과 같은 순서로 리소스 유형을 식별하고 스택에서 리소스 유형을 찾으면 다음 단계로 이동합니다.
-
Lambda
-
Step Functions
-
Amazon SQS
-
Kinesis Data Streams
-
-
리소스 유형의 스택에 단일 리소스가 있는 경우 해당 리소스가 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
'
각 파라미터에 대한 설명은 다음을 참조하세요.
-
버퍼링된 응답을 포함하는 Lambda – Lambda.Client.invoke
-
응답 스트리밍을 지원하는 Lambda – Lambda.Client.invoke_with_response_stream
-
- 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