[GO] Ich habe versucht, Remote API mit GAE / J zu verwenden

Ich wollte Produktionsumgebungsdaten lokal mit GAE / J importieren, also habe ich versucht, die Remote-API zu verwenden. In diesem Abschnitt wird beschrieben, wie Sie Daten per Fernzugriff von GAE in der lokalen Umgebung zur Produktion erfassen und die erfassten Daten im lokalen Datenspeicher speichern.

Annahme

Es ist in den folgenden Versionen implementiert.

Vorbereitung

Aktivieren Sie die Remote-API

Fügen Sie dem Projekt web.xml Folgendes hinzu.

web.xml


<servlet>
  <display-name>Remote API Servlet</display-name>
  <servlet-name>RemoteApiServlet</servlet-name>
  <servlet-class>com.google.apphosting.utils.remoteapi.RemoteApiServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>RemoteApiServlet</servlet-name>
  <url-pattern>/remote_api</url-pattern>
</servlet-mapping>

Fügen Sie appengine-remote-api.jar hinzu

Um die Remote-API-Client-Komponenten zu nutzen, fügen Sie `` {JAVA-SDK-ROOT} / lib / appengine-remote-api.jar zum Verzeichnis WEB-INF / lib` hinzu und übergeben Sie es über den Klassenpfad.

Implementierung

Importieren Sie die Daten des Kindnamens "Buch" lokal.

import com.google.appengine.tools.remoteapi.RemoteApiInstaller;
import com.google.appengine.tools.remoteapi.RemoteApiOptions;

// ...
		RemoteApiOptions options = new RemoteApiOptions()
			.server("your_app_id.appspot.com", 443)				
			.useApplicationDefaultCredential();
		RemoteApiInstaller installer = new RemoteApiInstaller();
		DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
		List<Entity> books;
		try {
			installer.install(options);
			Query q = new Query("book");
			books = datastore.prepare(q).asList(FetchOptions.Builder.withDefaults());
		} finally {
			installer.uninstall();
		}
		
		//Migrieren Sie Daten für den lokalen Speicher
		List<Entity> devBooks = new ArrayList<>();
		for (Entity book : books) {
			Entity devBook = new Entity(book.getKind(), book.getKey().getName());
			devBook.setPropertiesFrom(book);
			devBooks.add(devBook);
		}
		datastore.put(devBooks);

Es hat nicht funktioniert, wenn ich nur "datastore.put ()" die Daten, die ich aus der Produktion erhalten habe, aber ich konnte sie lokal mit der obigen Methode abrufen.

Recommended Posts

Ich habe versucht, Remote API mit GAE / J zu verwenden
Ich habe LINE Message API (line-bot-sdk-python) mit GAE ausprobiert
Ich habe APN (Remote-Benachrichtigung) mithilfe der Parse.com-REST-API ausprobiert
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
Ich habe versucht, die COTOHA-API zu verwenden (es gibt auch Code auf GitHub).
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, die Detect Labels-API von AWS Rekognition zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
[Pythonocc] Ich habe versucht, CAD auf einem Jupyter-Notebook zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe versucht, PySpark von Jupyter 4.x auf EMR zu verwenden
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe MLflow auf Databricks ausprobiert
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe die neue Objekterkennungs-API von tensorflow unter macOS Sierra ausprobiert
Ich habe versucht, Videos mit der Youtube Data API (Anfänger) zu suchen.
[Mit Bild] Ich habe versucht, neofetch auf verschiedenen Betriebssystemen zu verwenden!
Ich habe versucht, die Gesichtserkennungs-API von Microsoft für Cognitive Services zu verwenden
Ich habe versucht, mit "Syncthing" Dateien auf mehreren PCs zu synchronisieren
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe AdaNet gegen Tabellendaten ausprobiert
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe versucht, eine Quip-API zu erstellen