Java SDK (v1.8)를 사용하여 DynamoDB를 시작했습니다. 필자는 AWS 콘솔을 사용하여 매우 간단한 테이블을 만들었습니다. 내 테이블에 기본 해시 키가 있는데, 문자열 (범위 없음)입니다. 하나의 항목을 4 개의 다른 속성 값 (모든 문자열)과 함께 테이블에 넣었습니다.ResourceNotFoundException을 사용하여 간단한 DynamoDB 요청이 실패했습니다.
테이블에서 해당 항목에 대한 간단한 Java 요청을 만들고 있지만, 오류 메시지는 ResourceNotFoundException
입니다. 나는 아이템을 쿼리하기 위해 사용하는 기본 해시 키의 이름과 마찬가지로 내가 제공하는 테이블 이름이 정확하다는 점에 절대적으로 긍정적입니다. 테이블 상태는 AWS 콘솔에 Active
으로 표시되며 항목과 값도 볼 수 있습니다.
Requested resource not found (Service: AmazonDynamoDB; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: ...)
나는 다음 (클래스의 dynamodbv2
버전 사용) 시도했다 : :
Map<String, AttributeValue> key = new HashMap<String, AttributeValue>();
key.put(PRIMARY_KEY, new AttributeValue().withS(value));
GetItemRequest request = new GetItemRequest()
.withTableName(TABLE_NAME)
.withKey(key);
GetItemResult result = client.getItem(request);
나는 또한 사용하여 시도했습니다를
이
내가지고있어 오류입니다 이러한 모든 클래스의 더 이상 사용되지 않는 버전은 다음과 같습니다.GetItemRequest request = new GetItemRequest()
.withTableName(TABLE_NAME)
.withKey(new Key().withHashKeyElement(new AttributeValue().withS(value)));
GetItemResult result = client.getItem(request);
...하지만 같은 결과입니다.
ResourceNotFoundException
에 대한 나의 이해는 참조 된 테이블 이름이나 속성이 유효하지 않음을 의미합니다. 테이블이 Creating
상태에서 너무 일찍 나오면 내 테이블이 Active
인데도 throw 될 수 있습니다.
감사 생명의 은인을 ... – Naruto
그것은 나를 위해 작동 –
또한 특정 패키지를 언급 주셔서 감사합니다 –