Jak wiemy, w mechanizmie aplikacji Google dla każdego zarejestrowanego konta e-mail możemy składać 10 aplikacji. Teraz muszę udostępniać elementy między aplikacjami. czy to możliwe? Jeśli tak, w jaki sposób jest wdrażany?Czy mogę uzyskać dostęp do jednostek Datastore w innych aplikacjach Google App Engine
Odpowiedz
Nie, nie można tego zrobić. Jednak, jak wskazuje Nick Johnson, możesz użyć remote_api, aby zrobić to, czego potrzebujesz.
dziękuję za szybką odpowiedź, po prostu szybko rzuciłem stronę i chcę cię zapytać (może być słychać głupio), może to być używane z aplikacją zaimplementowaną w Javie, ponieważ wszystkie kodowanie odbywa się w Pythonie .. –
@VISD [Tutaj] (http://code.google.com/appengine/docs/java/tools/remoteapi.html) wersja Java. –
Przed uruchomieniem urządzenia zgodnie z dokumentacją sprawdź urządzenie ISSUE za pomocą GAE. Próbowałem wdrożyć, jak stwierdzono tam, ale z powodu błędu. Twoja prośba do zdalnego interfejsu API dotrze do serwera docelowego, ale nic nie spowoduje. Mam nadzieję, że problem zostanie wkrótce rozwiązany.
Czy na pewno chcesz to zrobić? Nie zapominaj, że możesz mieć wiele aplikacji działających na tym samym magazynie danych. Tylko 1 wersja aplikacji to Twoja "domyślna" i otrzymujesz nazwę domeny non appspot.com, ale możesz mieć zupełnie inne bazy kodu działające przeciwko temu samemu magazynowi danych/memcache adresowanemu za pomocą ..appspot.com
Ja nie wiem, czy to spełnia twoje potrzeby, ale myślałem, że je wyrzucę.
Nie mogłem cię zrozumieć. Przepraszam, może być nowicjuszem, ale nigdy nie słyszałem o "aplikacji".com "nazwa domeny dla aplikacji GAE. Połącz zasoby z miejsca, w którym otrzymałeś te informacje. –
W appengine możesz alias" normalnej "domeny (www.foo.com), którą zarejestrowałeś, aby wskazać domenę appspot.com Więc jeśli twoja domena appengine to foo.appspot.com, możesz mieć to widoczne dla twoich użytkowników jako www.foo.com, ale ta domena zawsze wskaże "domyślną" wersję twojej aplikacji. Możesz też mieć coś takiego jak cms .foo.appspot.com wskazuje na inną wersję twojego kodu żyjącego na appengine.Te dwie bazy kodu dzielą magazyn danych, memcache itp., ale tylko 1 może być w ten sposób aliasingowany –
Oto link do więcej informacji .. http: //stackoverflow.com/questions/817809/how-to-use-google-app-engine-with-my-own-domain-not-subdomain –
Jest nowa możliwość: jeśli jedna z aplikacji może być „częścią” drugiego, you can have it be a "module".
Przez activating Cloud Datastore access w ustawieniach App Engine jest to możliwe, aby podzielić się magazyn danych z innymi aplikacjami App Engine (lub aplikacji firm trzecich) .
Można to zrobić za pomocą interfejsu API Cloud Datastore. Do tej pory nie mogę tego zrobić za pomocą biblioteki ndb.
Jest to kod (Python) w bieżącej aplikacji:
from google.appengine.api import app_identity
scope = "https://www.googleapis.com/auth/datastore"
authorization_token, _ = app_identity.get_access_token(scope)
headers = {'Content-Type': 'application/json', "Authorization": "Bearer " + authorization_token}
payload = {"gqlQuery": { "queryString": "SELECT * FROM Entities"} }
url = "https://datastore.googleapis.com/v1beta3/projects/otherAppName:runQuery"
result = urlfetch.fetch(url, payload=json.dumps(payload), method=urlfetch.POST,
follow_redirects=True, headers=headers)
wystarczy zmienić "otherAppName" z krótką nazwą innej aplikacji App Engine, którego magazyn danych chcesz uzyskać dostęp. Zmień "Encje", podając nazwę Modelu, do którego chcesz uzyskać dostęp. Pamiętaj, aby dać dostęp do swojej Kuracji w innymNameApp (menu IAM w konsoli w chmurze), ustawić prawa dostępu do pliku danych/projektu
W rezultacie otrzymasz odpowiedź, musisz json- przeanalizuj go, a otrzymasz bardzo szczegółowy opis elementów magazynu danych z zapytania (w tym klucze, ścieżki, nazwy pól, typy i wartości dla każdego pola i każdego wiersza wyników). Jeśli masz ndb.JsonProperties otrzymasz wartość BLOB (DATABLOB w następnym przykładzie kodu), należy go przekształcić:
from google.appengine.ext.bulkload import transform
b = json.loads(transform.blobproperty_from_base64(DATOBLOB))
Nadzieja to może pomóc. Czekam na odpowiedź, używając ndb w moim drugim poście: GAE NDB Datastore new feature: Access Datastore entities from other GAE app
- 1. App Engine Dostęp do Datastore
- 2. Grupy podmiotów w Google App Engine Datastore
- 3. Google Cloud Datastore vs Google App Engine
- 4. Google App Engine próbuje uzyskać dostęp do danych dewelopera
- 5. Google App Engine Testy jednostek Pythona
- 6. Do czego mogę użyć Google App Engine?
- 7. Benchmarki dla różnych operacji Datastore w Google App Engine?
- 8. Konfigurowanie Django w Google App Engine dla DataStore
- 9. Google App Engine DataStore Tekst Kodowanie UTF-8 Problem
- 10. Pobieranie losowego rekordu z Google App Engine Datastore?
- 11. Wytyczne projektowania bez schematów dla Google App Engine Datastore i innych baz danych NoSQL
- 12. Google App Engine: w jaki sposób mogę programowo uzyskać dostęp do właściwości mojej klasy Model?
- 13. Utwórz encję przy użyciu przeglądarki datastore Google App Engine
- 14. Narzędzia GIS przy użyciu Datastore Google App Engine?
- 15. Google App Engine JDO 3
- 16. Jak zapytać jednostkę nadrzędną od elementu podrzędnego w Google App Engine (Python) NDB/Datastore?
- 17. Google App Engine APNS
- 18. Czy mogę uzyskać dostęp do innych połączeń odwołań innych aplikacji w mojej aplikacji?
- 19. Przechowywanie danych w aplikacji Google App Engine
- 20. Google App Engine vs WebFaction
- 21. Retrolambda w Google App Engine
- 22. Czy Google App Engine obsługuje ftp?
- 23. Czy można zainstalować/uzyskać dostęp do SSL dla mojej aplikacji Google App Engine?
- 24. Czy mogę obsługiwać wielokrotne logowanie Google za pomocą App Engine?
- 25. App engine NDB: jak uzyskać dostęp do verbose_name od nieruchomości
- 26. Google App Engine: get_or_create()?
- 27. web.py w Google App Engine
- 28. Czy istnieje narzędzie do tworzenia kopii zapasowych/przywracania jednostek Google Datastore?
- 29. Google App Engine Geohashing
- 30. Google App Engine
Dlaczego musisz udostępniać datastore pomiędzy twoją aplikacją? Należy pamiętać, że Warunki korzystania z usługi dla robotów w sekcji 4.3c zabraniają nam "używania wielu Aplikacji do symulacji lub działania jako pojedyncza Aplikacja lub w inny sposób uzyskiwać dostęp do Usługi w sposób uniemożliwiający ponoszenie opłat". –