Tôi chỉ đang bắt đầu và chạy với DynamoDB bằng cách sử dụng SDK Java (v1.8). Tôi đã tạo ra một bảng rất đơn giản bằng cách sử dụng giao diện điều khiển AWS. Bảng của tôi có khóa băm chính, là một chuỗi (không có dải ô). Tôi đã đặt một mục vào bảng với 4 giá trị thuộc tính khác (tất cả các chuỗi).Yêu cầu DynamoDB đơn giản không thành công với ResourceNotFoundException
Tôi đang thực hiện yêu cầu Java đơn giản cho mục đó trong bảng nhưng không thành công với ResourceNotFoundException
. Tôi hoàn toàn tích cực rằng tên bảng mà tôi cung cấp là chính xác, cũng như tên của khóa băm chính mà tôi đang sử dụng để truy vấn mục đó. Trạng thái bảng được liệt kê trong bảng điều khiển AWS là Active
và tôi cũng có thể thấy mục và giá trị của nó.
Đây là lỗi tôi nhận được:
Requested resource not found (Service: AmazonDynamoDB; Status Code: 400; Error Code: ResourceNotFoundException; Request ID: ...)
Tôi đã thử như sau (bằng cách sử dụng dynamodbv2
phiên bản của lớp):
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);
Tôi cũng đã cố gắng sử dụng các phiên bản cũ hơn, không dùng nữa của tất cả các lớp này, như sau:
GetItemRequest request = new GetItemRequest()
.withTableName(TABLE_NAME)
.withKey(new Key().withHashKeyElement(new AttributeValue().withS(value)));
GetItemResult result = client.getItem(request);
... nhưng nó cũng là kết quả tương tự.
Sự hiểu biết của tôi về ResourceNotFoundException
là điều đó có nghĩa là tên bảng hoặc thuộc tính được tham chiếu không hợp lệ, không phải như vậy. Nó cũng có thể được ném nếu bảng quá sớm trong trạng thái Creating
, nhưng bảng của tôi là Active
.
Cảm ơn cuộc sống tiết kiệm ... – Naruto
nó hoạt động cho tôi –
Cảm ơn bạn cũng đã đề cập đến các gói cụ thể –