[PYTHON] Über die Datenverwaltung von Amboss-App-Server

Vorwort Es ist schön, die App mit "Amboss-App-Server" ausführen zu können, aber lassen Sie uns die "News Aggregater" -App ausführen, die auf der Website [Anvil](https://anvil.works/) erstellt wurde. Trotzdem scheint es sich nicht reibungslos zu bewegen. .. .. Ich habe etwas recherchiert.

Prämisse - Sie haben bereits die App [News Aggregator](https://anvil.works/learn/tutorials/database-backed-apps) in Anvil erstellt.

Umgebung --Ubuntu 20.04 LTS Japanischer Remix - Hyper-V Manager 10.0.18362.1 - anvil-app-server v1.1

Laden Sie die News Aggregator-App herunter und führen Sie sie aus Nachdem Sie die App erstellt haben, können Sie sie mit dem Befehl "git clone" aus "Verlauf anzeigen" herunterladen.

Klicken Sie auf "Verlauf anzeigen" anvil_newsaggrigator_download_1.png

Klicken Sie auf "Mit Git klonen" anvil_newsaggrigator_download_2.png

Kopieren Sie die Zeile "git clone ssh: // ~" und führen Sie sie mit dem Befehl aus. anvil_newsaggrigator_download_3.png

git clone ssh://[email protected]:2222/324IEWAMVBYU2Y77.git News_Aggregater
  • "XXXX" ist die E-Mail-Adresse des auf der Anvil-Website registrierten Kontos.
  • Wenn die Zwei-Faktor-Authentifizierung aktiviert ist, müssen Sie den öffentlichen SSH-Schlüssel verwenden. Wenn Sie ihn verwenden, entfernen Sie die zweistufige Authentifizierung vorübergehend. Ich denke, es wird einfacher, wenn Sie den öffentlichen Schlüssel in Git registrieren.

Starten Sie die Anwendung mit "Amboss-App-Server".

anvil-app-server --app News_Aggregater

Greifen Sie mit einem Browser auf "http: // localhost: 3030" zu. anvil_app_server_url.png

Plötzlich ein Fehler. anvil_app_server_NewsAggrigator_error.png

Probleme In der News Aggrigator-App wird die "Kategorie" des Artikels im Voraus in der "Kategorien" -Tabelle registriert und von dort ausgewählt. Da die App jedoch keine Tabellendaten enthält, werden "leere Daten" angezeigt. Wird zu einem Fehler führen.

Greifen Sie mit pgadmin4 auf PostgreSQL des Amboss-App-Servers zu `anvil-app-server` enthält einen eigenen PostgreSQL-Server, greifen Sie also darauf zu.
  • Username : postgres --Password: (das Verzeichnis, in dem der Amboss-App-Server ausgeführt wurde) /.anvi-data/postgres.password --Port: (Verzeichnis, in dem der Amboss-App-Server ausgeführt wurde) /.anvi-data/db/postmaster.opts

Anscheinend gibt es jedoch weder eine Artikel- noch eine Kategorietabelle, die die App benötigen sollte. anvil_db_tables.png

Wenn Sie sich den Inhalt der vorhandenen Tabelle ansehen, finden Sie die Informationen der von der Anwendung erstellten Tabelle vorerst in der Tabelle app_storage_tables. anvil_db_app_storage_tables.png

Wenn Sie sich Daten mit der todo-App erstellen, die mit dem Befehl create-anvil-app erstellt werden kann, stellt sich heraus, dass Daten zur Tabelle app_storage_data hinzugefügt wurden. anvil_db_app_storage_tables.png

Was meinst du mit ? Von Oben,
  • Die von der App verwendeten Tabelleninformationen werden in der Tabelle app_storage_tables im JSON-Format gespeichert.
  • Wenn Sie über eine App auf Daten zugreifen, greifen Sie auf die Daten im JSON-Format in der Tabelle "app_storage_data" zu, basierend auf den Informationen in der Tabelle "app_storage_tables".

Es ist nicht undenkbar, eine Metatabelle unter dem Gesichtspunkt zu verwenden, dass die Datenschicht und die Logikschicht unabhängig von der Art der erstellten Anwendung abgeglichen werden können, aber es ist ein Mechanismus, der die Herzen von Amateuren frustriert.

Andere Als ich sehen konnte, um welche Art von Datenverwaltung es sich handelt, ging ich zurück zu Anvils Website und lud die Daten herunter, um die Daten zu importieren. Die heruntergeladenen Daten können jedoch nicht einfach importiert werden. Im Fall der "Kategorien" -Tabelle von News Aggrigator diesmal
ID name
[65114][57547127] entertainment
[65114][57547131] business
[65114][57547132] travel
[65114][57547134] sport

Die Daten im JSON-Format müssen in einer Form geschrieben werden, die mit der Metatabelle der lokalen Datenbank übereinstimmt.

  • Die ID-Spalte enthält "wahrscheinlich" Informationen, wenn sich Daten auf dem von Anvil gehosteten Server befinden. Daher scheint dies in der lokalen Datenbank nicht sehr sinnvoll zu sein. Intuitiv denke ich, dass es um Tabellen-ID und Zeilen-ID geht.

Postscript Ich stelle mir vor, dass ein bezahlter Plan bis zu einem gewissen Grad flexibel sein wird und geeignete Ratschläge und Tools zur Verfügung stehen, aber es ist ein wenig schwierig, einen Antrag mit einem kostenlosen Plan zu stellen und ihn selbst zu hosten. Überlegen. Wenn Sie einen kostenpflichtigen Tarif haben, können Sie Ihre eigene Domain einrichten. Dies ist wahrscheinlich die Hauptmethode für die Nutzung.

Recommended Posts

Über die Datenverwaltung von Amboss-App-Server
Über alles von numpy
Über die Zuweisung von numpy.ndarray
Über Variable von Chainer
Vorverarbeitung von Präfekturdaten
Auswahl der Messdaten
Über die Ineffizienz der Datenübertragung im luigi on-memory
Über max_iter von LogisticRegression () von scikit-learn
Datenverarbeitung 3 (Entwicklung) Informationen zum Datenformat
Experiment zur Optimierung der Tensorflow-Daten
Über den japanischen Weg von Pyminizip
Visualisierung von Daten nach Präfektur
Über verschiedene Codierungen von Python 3
Über alle von numpy (2.)
Fourier-Transformation von Rohdaten
Durchschnittliche Schätzung der begrenzten Daten
Über die Kostenberechnung von MeCab
Über den ungefähren Bruchteil des Umfangsverhältnisses
Eine Geschichte über das Clustering von Zeitreihendaten des Austauschs
Über die HOG-Ausgabe von Scikit-Image
Über die Funktionen von Python
Wahrscheinlichkeitsvorhersage von unausgeglichenen Daten
Entwicklung einer WEB-Anwendung mit Django [Daten vom Verwaltungsbildschirm hinzufügen]
Über Boxplot und Violinplot, die die Variation unabhängiger Daten visualisieren
Informationen zur Lernmethode mit Originaldaten von CenterNet (Objekte als Punkte)
Über das Projektmanagement von Deep Learning (DNN)
Über den Rückgabewert von pthread_mutex_init ()
Über den Grundtyp von Go
Speichersparende Matrixkonvertierung von Protokolldaten
Über die Obergrenze von Threads-max
Über Zeitreihendaten und Übertraining
Über die zirkuläre Überkreuzung genetischer Algorithmen
Differenzierung von Zeitreihendaten (diskret)
10 Auswahlen der Datenextraktion durch pandas.DataFrame.query
Animation von Geodaten durch Geopandas
Empfehlung zur Datenanalyse mit MessagePack
Über das Verhalten von Yield_per von SqlAlchemy
Zeitreihenanalyse 3 Vorverarbeitung von Zeitreihendaten
Informationen zum Importfehler von PyQt5.QtWidgets (Anaconda)
Über die Größe der Punkte in Matplotlib
Über die Farbhalbtonverarbeitung von Bildern
Informationen zur Grundlagenliste der Python-Grundlagen
Datenverarbeitung 2 Analyse verschiedener Datenformate
Versuchen Sie, den Zustand der Straßenoberfläche mithilfe von Big Data des Straßenoberflächenmanagements zu ermitteln