기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
상태 관리 및 데이터 변환
변수를 사용하여 상태 간에 데이터 전달과 JSONata를 사용하여 데이터 변환에 대해 알아봅니다.
Wait
상태("Type": "Wait"
)는 상태 시스템이 지정된 시간 동안 계속되지 않도록 지연시킵니다. 상대적인 시간, 상태가 시작된 후 지정된 시간(초) 또는 타임스탬프로서 지정되는 절대적인 종료 시간에서 선택할 수 있습니다.
Wait
상태에서는 일반 상태 필드 외에도 다음 필드 하나가 있습니다.
-
Seconds
-
Next
필드에 지정된 상태를 시작하기 전에 기다려야 하는 시간(초). 시간을 0에서 99999999 사이의 정수 값으로 지정해야 합니다. JSONata 상태에서는 지정된 범위의 정수로 평가해야 하는 JSONata 표현식을 지정할 수도 있습니다. -
Timestamp
-
Next
필드에 지정된 상태를 시작할 때까지 기다려야 하는 절대 시간.타임스탬프는 ISO 8601의 RFC3339 프로필을 준수해야 하며, 대문자
T
는 날짜와 시간 부분을 구분해야 하고, 대문자Z
는 숫자 시간대 오프셋이 없음을 나타냅니다(예:2024-08-18T17:33:00Z
).JSONata 상태에서는 이전 요구 사항을 준수하는 문자열을 생성하는 JSONata 표현식을 지정할 수 있습니다.
참고
현재 대기 시간을 타임스탬프로 지정하면 Step Functions는 시간 값을 초까지 고려하여 밀리초를 잘라냅니다.
-
SecondsPath
(선택 사항, JSONPath만 해당) -
의 경로는 다음 상태로 진행하기 전에 대기 시간을 초 단위로 지정하는 정수 값으로 데이터를 입력합니다.
-
TimestampPath
(선택 사항, JSONPath만 해당) -
상태의 경로는 데이터를 절대 날짜 및 시간(타임스탬프)으로 입력하여 다음 상태로 진행하기 전에 기다립니다.
참고
Seconds
, Timestamp
, SecondsPath
또는 TimestampPath
중 하나를 정확하게 지정해야 합니다. 또한 표준 워크플로와 Express 워크플로에 지정할 수 있는 최대 대기 시간은 각각 1년 및 5분입니다.
Wait 상태 예제
다음 Wait
상태는 상태 시스템을 10초간 지연시킵니다.
"wait_ten_seconds": {
"Type": "Wait",
"Seconds": 10,
"Next": "NextState"
}
다음 예제에서 Wait
상태는 절대 시간이 2024년 3월 14일 오전 1시 59분(UTC 기준)이 될 때까지 기다립니다.
"wait_until" : {
"Type": "Wait",
"Timestamp": "2024-03-14T01:59:00Z",
"Next": "NextState"
}
대기 시간을 반드시 하드 코딩할 필요는 없습니다. 예를 들어 다음 입력 데이터를 예로 들 수 있습니다.
{
"expirydate": "2024-03-14T01:59:00Z"
}
입력 데이터로부터 값을 선택하려면 참조 경로를 사용하여 입력의 "expirydate" 값을 선택할 수 있습니다.
"wait_until" : {
"Type": "Wait",
"TimestampPath": "$.expirydate",
"Next": "NextState"
}