2014-10-25 15 views
6

Khi chúng tôi tải tệp lên Blobstore trên Google App Engine, chúng tôi thấy rằng với mỗi tải lên một thực thể thuộc loại _BlobInfo_ được tạo có thể xem trong bảng điều khiển phát triển cục bộ dưới trình xem kho dữ liệu tại http://localhost:8888/_ah/admin, tuy nhiên sau khi ứng dụng được triển khai lên App Engine no các thực thể như vậy được tạo khi chúng tôi tải tệp lên Blobstore. Nó có vẻ kỳ lạ với tôi và muốn biết nếu tôi đang thiếu một cái gì đó ở đây.Tại sao không có loại thực thể nào có tên _BlobInfo_ trong kho dữ liệu được tạo khi ứng dụng được triển khai trên GAE?

+1

Tôi hiểu rằng hành vi đó là cách dev_appservers giả lập blob/lưu trữ dữ liệu. Khi triển khai không có thực thể như vậy là cần thiết vì thực thể đó bây giờ được lưu trữ trong blobstore thích hợp. Bạn không thiếu gì cả. –

Trả lời

4

_BlobInfo_ không phải là tên đặc biệt và rất có thể ứng dụng của bạn không tạo các thực thể có tên này.

Trong môi trường sản xuất __BlobInfo__ là tên nội bộ để lưu trữ thông tin về các đốm màu được lưu trữ trong Blobstore. Lưu ý rằng có hai ký tự gạch dưới (_) trước và sau từ BlobInfo. Thực thể này chỉ được tạo nếu ứng dụng của bạn tạo và lưu các đốm màu vào Blobstore.

Vì đây là một thực thể nội bộ, nó được loại trừ khỏi Trình xem kho dữ liệu theo mặc định. Nó cũng được loại trừ khỏi trang Thống kê Datastore, nhưng chúng xuất hiện dưới dạng BlobInfo trong Loại: "Tất cả các thực thể".
Bằng cách sử dụng mẹo nhỏ, bạn cũng có thể hiển thị thống kê chi tiết cho thực thể __BlobInfo__: chọn bất kỳ thực thể nào từ danh sách thả xuống và sau khi trang đã tải lại, trong url sửa đổi thông số kind=XXX thành kind=__BlobInfo__ và nhấn enter. Bây giờ trang sẽ tải lại hiển thị số liệu thống kê cho điều này ngay cả khi nó được ẩn khỏi danh sách thả xuống.

Tuy nhiên, bạn có thể liệt kê các thực thể này. Ví dụ, hãy vào Trình xem kho dữ liệu của bảng điều khiển quản trị của bạn và kiểm tra "Bằng GQL" để bạn có thể nhập GQL để liệt kê các điều khoản của bạn. Bây giờ, hãy nhập truy vấn GQL sau:

SELECT * FROM __BlobInfo__ 

Điều này sẽ liệt kê các đối tượng BlobInfo của bạn.

Lưu ý rằng trang Trình xem Blob của bảng điều khiển dành cho quản trị viên của bạn cũng hiển thị các đốm màu dựa trên các thực thể được lưu trữ dưới tên __BlobInfo__. Các đối tượng __BlobInfo__ cũng chứa nhiều thuộc tính hơn chỉ các thuộc tính được hiển thị trên trang Trình xem Blob.

Tất cả các thuộc tính như sau:

  • ID/Tên
  • content_type
  • tạo
  • creation_handle
  • filename
  • md5_hash
  • kích thước
  • upload_id

Đây cũng có sẵn từ ứng dụng của bạn nếu bạn tình cờ truy vấn các thực thể này.

+2

Cảm ơn lời giải thích chi tiết và khai sáng! ;) –

Các vấn đề liên quan