파라미터를 서비스 API에 전달 - AWS Step Functions

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

파라미터를 서비스 API에 전달

Task 상태의 "Parameters" 필드를 사용하여 서비스 API로 전달할 파라미터를 제어합니다.

정적 JSON을 파라미터로 전달

상태 머신 정의에 JSON 객체를 직접 포함시켜 파라미터로 리소스에 전달할 수 있습니다.

예를 들어 AWS Batch에 대한 SubmitJob API의 RetryStrategy 파라미터를 설정하려면 파라미터에 다음을 포함시킬 수 있습니다.

"RetryStrategy": { "attempts": 5 }

정적 JSON이 포함된 여러 개의 파라미터를 전달할 수 있습니다. 보다 완벽한 예로서, 다음은"Resource""Parameters"다음과 같은 작업 사양 필드에 게시Amazon SNS 주제.

"Resource": "arn:aws:states:::sns:publish", "Parameters": { "TopicArn": "arn:aws:sns:us-east-1:123456789012:myTopic", "Message": "test message", "MessageAttributes": { "my attribute no 1": { "DataType": "String", "StringValue": "value of my attribute no 1" }, "my attribute no 2": { "DataType": "String", "StringValue": "value of my attribute no 2" } } },

Path를 사용하여 상태 입력을 파라미터로 전달

Path를 사용하여 상태 입력의 일부분을 파라미터로 전달할 수 있습니다. 경로는 다음과 같이 시작하는 문자열입니다.$에서 JSON 텍스트 내 구성 요소를 식별하는 데 사용됩니다. Step FunctionsJsonPath구문.

파라미터에서 path를 사용하여 입력의 JSON 노드를 참조하도록 지정하려면 파라미터의 이름 끝을 .$로 합니다. 예를 들어 message라는 노드의 상태 입력에 텍스트가 있는 경우 path를 통해 입력 JSON을 참조함으로써 이를 파라미터로 전달할 수 있습니다.

다음 상태 입력을 사용합니다.

{ "comment": "A message in the state input", "input": { "message": "foo", "otherInfo": "bar" }, "data": "example" }

다음을 사용하여 메시지 foo를 파라미터로 전달할 수 있습니다.

"Parameters": {"Message.$": "$.input.message"},

Step Functions 에서 파라미터를 사용하는 방법에 대한 자세한 내용은 다음을 참조하십시오.

파라미터로서 Pass 컨텍스트 객체 노드

정적 콘텐츠 및 정적 입력의 노드 외에도 컨텍스트 객체의 노드를 파라미터로 전달할 수 있습니다. 컨텍스트 객체는 상태 머신 실행 중에 존재하는 동적 JSON 데이터입니다. 여기에는 상태 머신과 현재 실행에 대한 정보가 포함됩니다. 상태 정의의 "Parameters" 필드에서 경로를 사용하여 컨텍스트 객체에 액세스할 수 있습니다.

컨텍스트 객체와 "Parameters" 필드에서 해당 데이터에 액세스하는 방법에 대한 자세한 내용은 다음을 참조하십시오.