DynamoDB 스트림 — 제공된 ARN이 유효하지 않습니다.
TL;DR — Streams API 호출(DescribeStream, GetShardIterator, GetRecords)이 올바른 형식의 현재 스트림 설명자가 아닌 스트림 ARN을 얻었습니다. 일반적으로 /stream/latest 자리 표시자, 실수로 인한 테이블 ARN 또는 오래되거나 잘린 ARN입니다. DescribeTable의 LatestStreamArn에서 실제 ARN을 가져와 그대로 전달합니다.
무엇을 의미하는가
ValidationException: The ARN provided is invalidDynamoDB 스트림 ARN은 엄격한 형태를 갖습니다.
arn:aws:dynamodb:us-west-2:111122223333:table/TestTable/stream/2015-05-11T21:21:33.291뒤따르는 /stream/<ISO-8601 timestamp>은 기호 이름이 아닌 특정 스트림 설명자입니다. Streams 엔드포인트는 The ARN provided is invalid의 유효한 기존 스트림 ARN으로 구문 분석되지 않는 모든 항목을 거부합니다.
왜 발생하는가
/stream/latest(또는 유사한) 자리 표시자 - 일부 도구와 로컬 에뮬레이터에서는 이를 허용하지만 실제 DynamoDB에는 구체적인 타임스탬프 설명자가 필요합니다.- 스트림 ARN이 예상되는 테이블 ARN(
.../table/TestTable)을 전달합니다. - 오래된 ARN — 스트림이 비활성화되었다가 다시 활성화되었으므로 테이블의 현재 스트림에 새로운 설명자가 있습니다. 이전 스트림은 비활성화된 후 24시간 동안만 읽을 수 있으며 그 이후에는 해당 기록이 만료됩니다.
- 직접 작성했거나 잘린 ARN — 잘못된 지역, 잘못된 계정,
/stream/...세그먼트 누락 또는 추가 공백/줄 바꿈. - 지역 불일치 — Streams 클라이언트는 ARN 인코딩과 다른 지역에 대해 구성됩니다.
어떻게 해결하는가
- 진실 소스에서 ARN을 가져옵니다.
DescribeTable를 호출하고Table.LatestStreamArn을 읽습니다. 정확한 문자열을 사용하세요. - ARN을 합성하거나
/stream/latest을 사용하지 마십시오. 타임스탬프 세그먼트는 DynamoDB에 의해 할당되며 추측할 수 없습니다. DescribeStream/GetShardIterator/GetRecords에는 기본 DynamoDB 엔드포인트가 아닌 DynamoDB 스트림 엔드포인트를 사용합니다.- 클라이언트의 리전을 ARN의 리전과 일치시킵니다.
- 스트림 전환 후 다시 가져오기 — 비활성화/활성화 주기는 다른 설명자를 사용하여 완전히 새로운 스트림을 생성하므로 이전 ARN은 더 이상 라이브 스트림을 가리키지 않습니다.
- 복사할 때 공백을 자릅니다. 유효한 ARN의 후행 줄 바꿈은 여전히 검증에 실패합니다.
DynoTable에서 찾기
DynoTable은 테이블 메타데이터 패널에 각 테이블의 LatestStreamArn을 표시합니다. /stream/latest 자리 표시자를 직접 작성하는 대신 그대로 복사합니다. Lambda 또는 KCL 소비자를 연결하기 전에 ⌘K로 테이블을 열고 스트림 세부 정보를 확장합니다.
Query Builder을 사용하여 스트림을 소유한 동일한 프로필로 테이블에 연결할 수 있는지 확인하세요. ⌘P로 지역 전환; 설정의 연결 테스트 → 프로필이 ARN의 지역과 일치해야 합니다. Connect to AWS 및 Install를 참조하세요. /stream/<timestamp> 접미사를 직접 작성하지 마십시오. 매번 DescribeTable에서 LatestStreamArn를 복사하십시오. 테이블 ARN(.../table/Name)은 스트림 ARN이 아니며 동일한 검증 실패를 트리거합니다.
출처
- Change data capture for DynamoDB Streams (2026-07-13 확인)
- GetShardIterator — Amazon DynamoDB Streams API Reference (2026-07-13 확인)
관련 오류
- Cannot access stream — stream is not enabled — 스트림이 꺼져 있거나 ARN이 사라진 스트림을 가리킵니다.
- ValidationException — 매개변수 값이 잘못됨
- 학습: DynamoDB Streams
참고 자료
- Change data capture for DynamoDB Streams — Amazon DynamoDB Developer Guide
- GetShardIterator — Amazon DynamoDB Streams API Reference
- DescribeStream — Amazon DynamoDB Streams API Reference
- DescribeTable — Amazon DynamoDB API Reference
위에 링크된 공식 AWS 문서를 기준으로 2026년 7월 13일에 마지막으로 확인되었습니다.