Kiedy wysyłamy pliki do Blobstore na Google App Engine, zauważamy, że przy każdym przesłaniu tworzony jest podmiot w rodzaju _BlobInfo_
, który można zobaczyć w lokalnej konsoli programistycznej pod przeglądarką magazynu danych pod adresem http://localhost:8888/_ah/admin
, jednak po wdrożeniu aplikacji w App Engine nie takie obiekty są tworzone, gdy przesyłamy pliki do Blobstore. Wydaje mi się to dziwne i chciałem się dowiedzieć, czy czegoś tu nie ma.Dlaczego żaden rodzaj encji o nazwie _BlobInfo_ w magazynie danych nie jest tworzony po wdrożeniu aplikacji w GAE?
Odpowiedz
_BlobInfo_
nie jest nazwą specjalną i najprawdopodobniej Twoja aplikacja nie tworzy elementów o tej nazwie.
W środowisku produkcyjnym __BlobInfo__
to nazwa wewnętrzna do przechowywania informacji o obiektach typu blob przechowywanych w Blobstore. Zauważ, że są dwa znaki podkreślenia (_
) przed i po słowie BlobInfo
. Ta encja jest tworzona tylko wtedy, gdy twoja aplikacja tworzy i zapisuje obiekty blob w Blobstore.
Ponieważ jest to jednostka wewnętrzna, jest domyślnie wykluczona z przeglądarki Datastore. Jest również wykluczony ze strony Statystyki Datastore, ale pojawia się jako BlobInfo
w kategorii Kind: "Wszystkie elementy".
Za pomocą małej sztuczki można również wyświetlić szczegółowe statystyki dla jednostki __BlobInfo__
: wybierz dowolny obiekt z listy rozwijanej, a po ponownym załadowaniu strony, w url zmodyfikuj parametr kind=XXX
na kind=__BlobInfo__
i naciśnij Enter. Teraz strona przeładuje statystyki, mimo że jest ukryta na liście rozwijanej.
Można jednak wyświetlić te elementy. Na przykład przejdź do przeglądarki Datastore w twojej konsoli administracyjnej i zaznacz "Według GQL", abyś mógł wprowadzić GQL, aby wyświetlić listę swoich obiektów. Teraz wprowadź następujące zapytanie GQL:
SELECT * FROM __BlobInfo__
Spowoduje to wyświetlenie Twoich jednostek BlobInfo
.
Należy zauważyć, że strona Blob Viewer w konsoli administratora wyświetla również obiekty typu blob na podstawie jednostek przechowywanych pod nazwą __BlobInfo__
. Obiekty __BlobInfo__
zawierają również więcej właściwości niż te wyświetlane na stronie przeglądarki Blob.
Wszystkie właściwości są następujące:
- ID/Nazwa
- content_type
- tworzenie
- creation_handle
- filename
- md5_hash
- rozmiar
- upload_id
Są one również dostępne w twojej aplikacji, jeśli zdarzy ci się zapytać te podmioty.
Dzięki za szczegółowe i pouczające wyjaśnienie! ;) –
- 1. Zestaw danych GAE do płukania w magazynie GAE po przeprowadzeniu testów jednostkowych
- 2. FieldDoesNotExist: ManyToManyField ma pole o nazwie Żaden
- 3. Punkty końcowe w chmurze GAE - aktualizacja Api po wdrożeniu
- 4. Różnica między rodzajem a datą w magazynie danych GAE?
- 5. Otrzymanie błędu po wdrożeniu aplikacji w szkleFIsh
- 6. Dlaczego przeglądarka nie wyświetla favicon po wdrożeniu
- 7. dlaczego tworzony jest string.IsNullOrEmpty()?
- 8. Jaki jest cel przodków w magazynie danych wyszukiwarki Google?
- 9. Google App Engine Nagłówek HTTP Content-Type nie jest prawidłowy po wdrożeniu aplikacji
- 10. Debugowanie aplikacji Google Web Toolkit z błędem po wdrożeniu w Google App Engine
- 11. Awaria aplikacji Meteor Heroku po wdrożeniu
- 12. __RequestVerificationToken nie zawsze jest tworzony
- 13. element danych o nazwie klasy
- 14. Eclipse: Żaden generator o nazwie "system-uuid" nie został zdefiniowany w jednostce trwałości
- 15. Dostawca ADO.NET o niezmiennej nazwie "MySql.Data.MySqlClient" nie jest zarejestrowany w pliku konfiguracyjnym maszyny lub aplikacji.
- 16. Dlaczego nie można rozpoznać aliasu o nazwie w wybranej części?
- 17. Spark Kontekst nie jest tworzony automatycznie w Scala Spark Shell
- 18. Dlaczego jest 'to' słowo kluczowe nie rodzaj odniesienia w C++
- 19. Aplikacja Spring Boot nie działa po wdrożeniu w autonomicznym Tomcat
- 20. Devise przegrywa sesję po wdrożeniu
- 21. Dlaczego tworzony jest folder pamięci podręcznej Sass?
- 22. Dlaczego QObject niszczy sygnał o nazwie PO Zniszczeniu?
- 23. Wykonywanie funkcji po uruchomieniu aplikacji pierścień/compjure po wdrożeniu
- 24. Nie można znaleźć zasobu o nazwie "X", dlaczego nie?
- 25. MongoDB: Zapytanie o klucz o nazwie spacji w nazwie
- 26. Wtyczka kwarcowa Grails nie działa po wdrożeniu w Tomcat
- 27. Struktura encji nie zapisuje wpisów danych w bazie danych
- 28. Log4Net Not Logging po wdrożeniu
- 29. Dane pozostają w lokalnym magazynie po odpięciu
- 30. Jak umieścić słownik w magazynie danych?
Rozumiem to zachowanie jako metodę dev_appservers emulacji blob/przechowywania danych. Po wdrożeniu taka jednostka nie jest potrzebna, ponieważ encja jest teraz przechowywana w odpowiednim blobstore. Niczego nie brakuje. –