Chuyển đến nội dung chính

Bạn dùng TablePro hằng ngày? License thêm tính năng trả phí và nuôi bản phát hành tiếp theo. Mua licenseMua license ủng hộ TablePro

GUI Amazon DynamoDB cho Mac

Duyệt table theo key và index, xem lượng read capacity mà mỗi lần đọc đã dùng, sửa item mà không làm mất kiểu dữ liệu, và chạy PartiQL hoặc request DynamoDB API trong editor.

Dùng được trên MacDriver được tải về ở lần đầu bạn chọn Amazon DynamoDB

Một lần đọc DynamoDB có lọc, thanh trạng thái hiển thị Query trên index byStatus, 44 item trả về và 1 read capacity unit đã dùng.

Tóm tắt

Ngôn ngữ query
PartiQL
Driver
Tải về ở lần dùng đầu
Cách kết nối
API của dịch vụ
iPhone và iPad
Không mở được

Kết nối

Chọn Phương thức xác thực (Auth Method) và AWS Region, sidebar sẽ liệt kê các table của region đó. Các phương thức gồm access key kèm session token tùy chọn, profile trong ~/.aws/config và ~/.aws/credentials được đọc giống cách AWS CLI đọc, hoặc profile AWS IAM Identity Center, sẽ mở hộp đăng nhập khi phiên đăng nhập đã hết hạn.

Profile hỗ trợ helper credential_process và chuỗi role_arn, và credential tạm thời hết hạn sẽ được lấy lại rồi gửi lại request một lần. Mọi request đi qua HTTPS, được ký bằng Signature Version 4, nên không có thiết lập SSL và không có SSH tunnel. Region thuộc partition AWS khác, như Trung Quốc hay European Sovereign Cloud, tự tới đúng endpoint của nó mà không cần endpoint tùy chỉnh.

Với DynamoDB Local, hãy chạy docker run -p 8000:8000 amazon/dynamodb-local và chọn DynamoDB Local (no credentials); để trống Endpoint tùy chỉnh (Custom Endpoint) nếu dùng port 8000. Endpoint tùy chỉnh chỉ được dùng HTTP thường khi nằm trên chính máy Mac này. Hướng dẫn thiết lập liệt kê các IAM action mà từng thao tác cần (tiếng Anh).

Đọc, lọc và sửa item

Mở, lọc và chuyển trang một table đều đi qua cùng một planner. Cố định partition key bằng = thì planner chạy Query trên một partition; bộ lọc khớp với key của một index thì chạy Query trên index đó; còn lại thì chạy Scan, đọc toàn bộ table và bị tính phí cho từng item đã đọc. Thanh trạng thái ghi tên kiểu đọc đã chọn, rồi số item trả về, số item DynamoDB đã đọc để tìm ra chúng, và số read capacity unit mà lần đọc đã dùng.

Bộ lọc trên sort key được gộp vào key condition khi là =, <, <=, >, >=, BETWEEN hoặc STARTS WITH. Các bộ lọc khác trở thành FilterExpression, được DynamoDB áp dụng sau khi đọc, nên chúng thu hẹp số dòng mà không làm giảm chi phí. Lọc theo attribute lồng nhau bằng đường dẫn như address.city hay items[0].sku.

Khi Query chỉ đọc một partition, bấm vào tiêu đề cột sort key để DynamoDB trả item theo thứ tự đó. Các kiểu sắp xếp khác được làm ngay trong data grid khi lần đọc đã có đủ mọi item khớp, và thanh trạng thái báo khi chưa đủ. Trang tiếp theo đọc tiếp từ chỗ trang trước dừng lại. Tổng số dưới data grid là số item do chính DynamoDB đếm; Đếm chính xác (Count Exactly) đọc mọi item khớp với bộ lọc, và lần đọc đó bị tính phí đầy đủ.

Table chỉ khai báo key, nên các cột được lấy từ chính các item: các key attribute, những attribute có trong một mẫu gồm các item đầu tiên của table, và những attribute trên trang đang xem. Map, list và set hiện dưới dạng JSON và mở trong JSON editor, còn số giữ nguyên mọi chữ số.

Mỗi dòng đã sửa được lưu bằng một câu lệnh PartiQL, và mỗi giá trị giữ nguyên kiểu: Number vẫn là Number, String như 02134 vẫn là String, và String Set sửa dưới dạng JSON vẫn được ghi lại là String Set. Câu cập nhật kiểm tra từng attribute nó thay đổi với giá trị mà data grid đã tải, nên sẽ thất bại thay vì ghi đè thay đổi của người khác. Đặt NULL (Set NULL) xóa attribute đó.

Editor nhận PartiQL, với dấu ngoặc kép quanh tên và dấu nháy đơn quanh chuỗi, hoặc tên một action của DynamoDB kèm JSON request của nó, như Query, BatchWriteItem hay TransactWriteItems. Tên action khác bị từ chối. Item được trả về trong data grid, còn các phản hồi khác ở dạng JSON. Request bị throttle được thử lại với backoff, và ⌘. dừng câu lệnh đang chạy.

Table và index

Bảng mới… (New Table…) mở một form cho partition key và sort key, capacity on-demand hoặc provisioned, table class, deletion protection và secondary index, còn Xem trước (Preview) hiển thị request CreateTable trước khi gửi. Local secondary index chỉ định nghĩa được tại đây, lúc tạo table.

Trong tab Structure, bạn thêm hoặc xóa global secondary index, mỗi lần lưu một thay đổi, vì DynamoDB chỉ nhận một thay đổi index cho mỗi request UpdateTable. Attribute không sửa ở đây: hãy ghi một attribute vào item, nó sẽ xuất hiện thành một cột. Tab DDL hiển thị request CreateTable để tạo lại table, kèm thiết lập Time to Live và point-in-time recovery.

Thiết lập table

Bấm chuột phải vào table và chọn Bảo trì (Maintenance) để chỉnh point-in-time recovery, deletion protection, stream, table class, chuyển sang capacity on-demand và tắt Time to Live. Xóa table sẽ gửi DeleteTable, request này thất bại khi deletion protection đang bật.

Di chuyển dữ liệu

TablePro không có import cho DynamoDB. Hãy ghi item từ editor bằng câu INSERT của PartiQL hoặc request BatchWriteItem, request này gửi lại các item chưa được xử lý và báo những item không ghi được. Export table hoặc kết quả ra file từ hộp thoại Export.

iPhone và iPad

Ứng dụng cho iPhone và iPad không có driver Amazon DynamoDB. Connection Amazon DynamoDB đồng bộ từ máy Mac vẫn hiện trong danh sách nhưng không mở được.

Giới hạn

  • Mỗi connection ứng với một tài khoản AWS trong một region.
  • Không hỗ trợ endpoint DAX, và không có Truncate.

Câu hỏi về Amazon DynamoDB

Làm sao để một lần đọc không quét toàn bộ table?

Lọc theo partition key bằng =, hoặc theo partition key của một global index kèm bộ lọc trên từng sort key của nó, lần đọc sẽ chạy dưới dạng Query. Global index chỉ được dùng khi duyệt nếu nó project mọi attribute, nên với index chỉ chứa key, hãy query từ editor bằng request Query có ghi IndexName.

Làm sao để đổi key của một item?

Key attribute không sửa trực tiếp được. Hãy dùng Nhân bản dòng (Duplicate Row), lệnh này chép mọi attribute trừ key, đặt key mới cho bản sao, lưu lại, rồi xóa bản gốc.

Các thay đổi trên data grid có được lưu trong một transaction không?

Không. Mỗi dòng thay đổi được ghi riêng. Những thao tác ghi cần cùng thành công thì hãy đặt chung trong một request ExecuteTransaction hoặc TransactWriteItems trong editor.

Tải TablePro

Bạn tải về và dùng ứng dụng cho Mac miễn phí. Gói Starter hoặc Team bổ sung một số tính năng tùy chọn.
Tải về cho Mac

Yêu cầu macOS 13 Ventura trở lên