iOS Firebase Flashlight / ElasticSearch Heroku-Installation mit Node.JS

8

Ich baue in Swift eine iOS-App mit einem Firebase-Backend. Ich brauche erweiterte Suchoptionen für meine App. Mir wurde gesagt, dass ich Flashlight / ElasticSearch über diesen GitHub-Link Ссылка

verwenden sollte

Angenommen, der Name meiner App lautet SneakerSearch und mein

%Vor%

Ich brauche einen Rat mit den Schritten, um dies einzurichten, da ich neu bei Heroku und Node.js bin. Ich habe es vorher noch nie gelernt, aber ich habe bereits den Heroku Werkzeuggürtel installiert und 'sudo gem heroku install' ist fertig.

Ich habe die github Richtungen / Schritte und die Schritte aufgelistet, die ich für jede Richtung genommen habe. Ich brauche Hilfe bei den Anweisungen: 1,4,5,6,9,10,12 und 15.

%Vor%

1. Ich melde mich bei Heroku.

1.-FRAGE: Muss ich den Namen meiner App erstellen und bereitstellen, nachdem ich mein Heroku-Konto eingerichtet habe oder sollte ich bis Schritt 9 warten?

%Vor%

2.Ich klicke das obige in den Projektordner meiner iOS-App

%Vor%

3. In der Eingabeaufforderung starte ich zunächst "npm init" und dann "npm install"

%Vor%

4A.-FRAGE: Was ist "FB_SERVICEACCOUNT"? Ich verwende Firebase 3 und konnte in einem Dienstkonto in meiner Konsole nichts finden. Ist das ein weiterer Firebase-Account, den ich für mein Projekt mit node.js zusätzlich zu dem Firebase-Swift-Projekt, das ich bereits erstellt habe, einrichten muss?

4B.-FRAGE: Wo bearbeite ich "config.js" und setze meine FB_URL und FB_SERVICEACCOUNT auf? Sollte dies in meiner package.json Datei sein?

%Vor%

5.-FRAGE: Im Terminal habe ich "node app.js" ausgeführt und "throw err; ^" bekommen. Warum habe ich diesen Fehler erhalten?

%Vor%

6.-FRAGE: Wofür ist das?

%Vor%

7.Schalten Sie auf die Taschenlampe dir

%Vor%

8.logged in Heroku

%Vor%

9A-FRAGE: Als ich mein Konto bei Heroku eingerichtet habe, sollte ich eine neue App mit dem Namen meiner App erstellen und sie mithilfe der aufgelisteten git-Anweisungen bereitstellen? Wenn ich das nicht zuerst hätte tun sollen, würde "heroku create" diesen Prozess für mich leiten?

9B-FRAGE: Führe ich einfach "heroku create" aus oder führe ich "heroku create -apps name- here" aus?

%Vor%

10.-FRAGE: Muss ich bei Bonasi.io ein Konto einrichten und es vor diesem Schritt installieren oder erstellt das für mich einen Bonsai-Account? Ich habe noch nie Bonsai verwendet.

%Vor%

11. Ich schätze, diese Frage hängt von Schritt Nr. 10 ab.

%Vor%

12.-FRAGE: Was ist die Firebase TOKEN? Ist das mein Web_API_Key, App_URL oder Project_ID? Ich konnte in meiner Firebase-Konsole nichts spezifisch für "Token" finden. Ich verwende Firebase 3.

%Vor%

13. Commit mit Nachricht

%Vor%

14. Push to Master

%Vor%

15.-FRAGE: Wofür ist das?

    
Lance Samaria 19.12.2016, 22:04
quelle

2 Antworten

11

Dies ist eine zweiteilige Antwort, wobei der erste Teil über die Github-Richtungen geht und mit Schritt 19 endet. Der zweite Teil erweitert mehr Informationen, die nicht in den ersten Teil passen konnten, und es wird in Schritt 19 im Detail beginnen. Ich muss es zu einer anderen Frage hinzufügen und verlinken.

Hier sind die Github Schritte aufgelistet. Zu Ihrer Information: Ich habe die ursprünglichen Schritte in Übereinstimmung mit dem ursprünglichen Github author beibehalten, aber darunter habe ich eine Reihe von Unterschritten mit detaillierten Erläuterungen und Anweisungen unter jedem eingefügt.

Angenommen, Sie haben bereits ein Firebase -Projekt erstellt und Ihre GoogleService-Info.plist -Datei

erhalten

Öffnen Sie Ihre GoogleService-Info.plist -Datei. Die folgenden variables von Github directions korrelieren mit GoogleService-Info.plist keys

%Vor%

Unter jedem Github step habe ich Kommentare und dann Anweisungen. In den Anweisungen, in denen ich die folgenden Werte verwende, solltest du stattdessen project's values verwenden. Für die Schrittbeispiele verwende ich diese keys und values :

%Vor%

Schnelles Datenmodell: (Dies entspricht dem, was Sie in Schritt 19 in Ihr Zuordnungsobjekt eingegeben haben)

%Vor%

VC mit Dateipfaden, in denen ich Daten an Firebase sende und searchSnkPath ist ein separater Dateipfad, in dem Bonsai seine Suchvorgänge ausführt:

%Vor%

Innerhalb von FBDatabase ist der Pfad, in dem meine zu suchenden Daten gespeichert werden, in root/searchSnkPath/autoID gespeichert, und er hat 2 keys namens sneakercondition und sneakername , die die Daten darstellen. Der Pfad, aus dem ich meine Suchergebnisse abrufen möchte, ist root/searchSnkPath

%Vor%

Wenn ich nach dem searchSnkPath suchen und nach diesen 2 keys fragen möchte, dann würde ich in der config.js Datei exports.paths finden und dort würde ich die Informationen für die Suche nach

%Vor%

Schritt 4 deckt all das ab

Wichtig Nachdem Sie git clone https://github.com/firebase/flashlight (Schritt 2A) ausgeführt haben, müssen Sie cd in den Ordner flashlight (Schritt 2B) einfügen, da ALLE Schritte von diesem Punkt an innerhalb von% co_de stattfinden % Ordner und NICHT der Ordner Ihres Haupt-Xcode-Projekts. Nichts funktioniert nicht im Ordner Ihres Xcode-Projekts, da es keine package.json-Datei

enthält

Teil 1 - Github-Schritte:

  

1 • Installieren und starten Sie ElasticSearch oder fügen Sie den Bonsai-Service über Heroku hinzu

1. Kommentare:

- flashlight wird in Schritt 10 hinzugefügt

-Sie müssen die folgenden Schritte 1A-1E in der Reihenfolge haben, bevor Sie fortfahren

1.Richtungen:

1A. Downloaden und installieren Sie Bonsai von Ссылка

1B. Laden Sie das Node.js (es wurde in Heroku Toolbelt umbenannt) herunter und installieren Sie es unter Ссылка . FYI Ich habe den OS X Installer und nicht OS X Homebrew benutzt.

1C. Nachdem Sie Heroku CLI heruntergeladen und installiert haben, melden Sie sich bei Heroku.com an und erstellen Sie ein Konto

1D. Nachdem Sie ein Heroku Toolbelt/CLI -Konto erstellt haben, müssen Sie kein neues Heroku erstellen. Dies geschieht in Schritt 9 über die Befehlszeile. Es ist sehr einfach

1E. Öffne das Terminal und rufe: Heroku App , um den aktuellen node -v deines laufenden Spiels herauszufinden (zum Beispiel bekommst du node version ). In Schritt 2D müssen Sie sicherstellen, dass die Version von dort mit dieser Ausgabe übereinstimmt.

  

2 • Git Klon Ссылка

2. Kommentare:

- Das Xcode-Projekt lebt auf dem Desktop in einem Ordner namens v6.9.1

-Inside-Terminal, das Sie sneakerSearchFolder zum SneakerSearchFolder-Ordner - d. h. run: cd

- Im SneakerSearchFolder haben Sie cd Desktop/sneakerSearchFolder clone bei Ссылка

- Wichtig Sie haben dann the github repo bis cd Ordner, also run: flashlight

-Die cd flashlight wird nach Ссылка

benötigt

-run: node version , um zu bekommen, was node -v später im node version -Ordner (dh flashlight ) ausführt, wenn du v6.9.1 erstellst, wirst du entsprechend dem obigen Heroku instance -Link benötigen

- Wenn Sie nun im Ordner " devcenter.heroku " den von Ihnen ausgeführten flashlight nicht mit der Version von Schritt 1E vergleichen, müssen Sie die Version im Flashlight-Ordner aktualisieren, damit sie übereinstimmen. Upgrade von Node.js auf die neueste Version Wenn beide Versionen übereinstimmen, dann Sie mach dir keine Gedanken darüber

- Wenn Ihre Knotenversionen übereinstimmen, öffnen Sie die node version -Datei in Ihrem package.json -Ordner und fügen Sie ein flashlight -Objekt hinzu, wobei der Wert des Schlüssels der "engines" ist, den Sie gerade verwenden

%Vor%

2.Richtungen:

2A. im Terminal navigieren Sie zu dem Ordner, in dem sich Ihr Xcode-Projekt befindet

2B. run: node version

2C. run: git clone https://github.com/firebase/flashlight

2D. run: cd flashlight

2E. Öffnen Sie den Ordner node -v und öffnen Sie dann flashlight .Fügen Sie der Datei Folgendes hinzu:

%Vor%

2E-Beispiel. Hier ist ein Beispiel. Öffnen Sie package.json und fügen Sie sie nach package.json "dependencies" hinzu. Achten Sie darauf, nach der schließenden Klammer einen COMMA hinzuzufügen. Und fügen Sie nicht das "v" vor der Versionsnummer hinzu. Speichern Sie die Datei.

%Vor%
  

3 • npm installieren

Von diesem Punkt an ist es sehr wichtig, dass Sie sich in Ihrem closing brace Ordner befinden und nicht im Ordner Ihres Hauptprojekts, sonst werden Sie Fehler bekommen

3. Kommentare:

- Sie sollten sich immer noch in Ihrem flashlight -Ordner befinden

- Melden Sie sich in flashlight an, gehen Sie in der Konsole Ihres FB-Projekts zu Firebase (kleine runde Ikone neben Project's Settings ), wählen Sie in den Projekteinstellungen Overview , gehen Sie zum Abschnitt SERVICE ACCOUNTS . Es gibt 2 Dinge, die du hier machen musst. 1. Finde und kopiere dein Firebase Admin SDK , es sieht aus wie [email protected] und 2. unten auf der Seite musst du auf klicken Firebase service account button, es wird ein Generate New Private Key heruntergeladen, das Sie in Unknown file umbenennen müssen. Wenn die Datei etwas außer service-account.json benannt wird, benenne sie einfach in Unknown um. Nachdem Sie die Datei umbenannt haben, ziehen Sie sie in Ihren service-account.json Ordner, da Step 4B flashlight von dort auf diese Datei zugreifen muss. Vergewissern Sie sich, dass Sie die Datei innerhalb des FB_SERVICEACCOUNT !

-Dies ist nicht in den GitHub-Schritten aufgeführt, aber es ist notwendig. Sie müssen FLASHLIGHT FOLDER zu Ihrem Projekt hinzufügen

-Sie müssen sich in Ihrem Firebase Server SDK Credentials -Ordner befinden, um den $ flashlight -Befehl auszuführen, oder Sie erhalten Fehler, weil nach einer npm install firebase-admin --save -Datei gesucht wird. Die Datei befindet sich bereits im Ordner packae.json und nicht im Ordner des Haupt-Xcode-Projekts

- Folgen Sie den Anweisungen in Ссылка im Abschnitt " flashlight ". Sie benötigen 2 der Werte aus der Datei Initialize the SDK (die jetzt in Unknown umbenannt werden sollte), um sie zu initialisieren. Die Werte sind in den Zeilen 5 service-account.json und 6 private_key . FYI die clientEmail und clientEmail sind das gleiche

-Hier ist, was du Firebase service account in initializing :

bist %Vor%

-FYI Innerhalb des Abschnitts SDK haben Sie auch die Möglichkeit, den oberen Teil zu verwenden, in dem Initialize the SDK steht. Sie können stattdessen den Pfad zur umbenannten Unbekannten Datei angeben. Ich wähle den unteren path/to/serviceAccountKey.json -Teil, da es einfacher war. Wenn Sie diese Schritte ausführen, müssen Sie sich jedoch keine Gedanken darüber machen.

-Innerhalb des inline -Ordners befindet sich eine flashlight -Datei, kopiere den obigen Code und füge ihn oben in die Datei ein

-Back in Terminal in der Befehlszeile ausführen: app.js

-Wenn alles gut ist, sind die einzigen Warnungen, die Sie haben sollten, npm install und No repository field

3.Richtungen:

3A . Stellen Sie sicher, dass Sie im Ordner No license field ausgeführt werden: flashlight

3B. Melden Sie sich auf der Seite pwd von Firebase Console an und klicken Sie auf die Schaltfläche SERVICE ACCOUNTS , um eine Generate New Private Key -Datei herunterzuladen.

3C. Benennen Sie die Datei Unknown in Unknown um und fügen Sie die Datei in den Ordner service-account.json

ein

3D. Kopieren Sie in der flashlight -Datei die service-account.json named key oder kopieren Sie die Dienstkontoinformationen auf Ihrer client_email Seite

3E. Im Terminallauf: Firebase SERVICE ACCOUNTS

3F. Kopiere, was in der Sektion npm install firebase-admin --save steht und initialisiere die Felder mit diesen Werten:

%Vor%

3G. Öffnen Sie im Ordner Initialize the SDK die Datei flashlight , fügen Sie den obigen Code mit den korrekten Werten ein / speichern Sie ihn

3H. run: app.js

  

4 • bearbeite config.js (siehe Kommentare oben, du musst FB_URL und   FB_SERVICEACCOUNT mindestens)

4. Kommentare:

- Fügen Sie Ihrem npm install -Ordner eine Datei mit dem Namen flashlight hinzu, öffnen Sie sie

-In dieser Datei config.example.js finden Sie die Variablen config.example.js und FB_URL (diese sind in den Zeilen 13 und 23 aufgelistet)

-Sie müssen FB_SERVICEACCOUNT in exports.FB_URL = process.env.FB_URL || 'https://<YOUR APP>.firebaseio.com'; ändern (stellen Sie sicher, dass exports.FB_URL = process.env.FB_URL || 'whatever_your_DATABASE_URL_is'; in einfache oder doppelte Anführungszeichen gesetzt wird)

-in Zeile 23 whatever_your_DATABASE_URL_is ist das, was verwendet wird, um auf das exports.FB_SERVICEACCOUNT = process.env.FB_ACC || 'service-account.json'; von Schritt 3C zuzugreifen (es ist nicht notwendig, hier irgendetwas hinzuzufügen oder zu ändern, da es selbst darauf zugreifen wird)

- Sie müssen nun den Pfad festlegen, an dem sich Ihre Daten befinden (wie der searchPath , der verwendet wird, um Daten an den FB innerhalb des ViewControllers zu senden), den Index (Schritt 17) und den Typ (ähnlich Ihrem Datenmodell), die Sie in den Zeilen 64, 65 und 66 überwachen möchten

%Vor%

- service-account.json file ist der Ort, an dem sich path in data befindet. Hier wollen Sie Suchergebnisse aus d. H.% Co_de%

ziehen

- FB exp in Schritt 17

- <DATABASE_URL>/searchSnkPath exp in Schritt 19

-FYI Zeilen 69-79 richten einen anderen Pfad ein, den Sie überwachen möchten. Sie können diese löschen oder kommentieren, wenn Sie möchten. Sie können auch mehrere zu überwachende Pfade erstellen, d. H. Wenn Sie einen Pfad index hätten, würden Sie auch danach suchen. Sie können auch weitere Pfade hinzufügen, wenn Sie möchten.e:

%Vor%

-FYI type sind die <DATABASE_URL>/searchClothingPath , die in ES indiziert werden. Dies ist eine optionale Ergänzung. Wenn du 10 Fields hättest und nur 2 davon keys hättest, dann würdest du das hinzufügen. Dies bedeutet, dass von den 10 Schlüsseln nur die 2 keys durchsuchbar wären. Sie können auch die Analysefunktion in der indexed -Datei verwenden, um dasselbe zu tun

-Speichern / schließen Sie das keys später und benennen Sie es um config.js

4.Richtungen:

4A. Öffnen Sie die Datei config.example.js und ändern Sie in Zeile 13 config.js in config.example.js

4B. Zeile 23 wird verwendet, um auf die Datei exports.FB_URL = process.env.FB_URL || 'https://<YOUR APP>.firebaseio.com'; zuzugreifen (solange Sie die exports.FB_URL = process.env.FB_URL || 'https://sneakersearch-az12.firebaseio.com'; in Schritt 3C umbenannt haben, gehen Sie einfach weiter)

4C. Zeile 64,65,66, was ich überwachen möchte und in Zeile 67 habe ich die service-account.json für die beiden Unknown file hinzugefügt, die ich suchen möchte, obwohl das nicht der Fall ist notwendig

%Vor%

4D. Speichern / schließen Sie die Datei fields key . Benenne nun die Datei Firebase Database Keys .

  

5 • Knoten app.js (Ausführen der App)

5. Kommentare:

-Sie werden diesen Befehl nicht bis zum Ende ausführen, überspringen Sie es für jetzt, aber es gibt etwas, was Sie wissen sollten. Wenn Sie config.example.js ausführen, wird Ihre Heroku-App auf Ihrem lokalen Computer ausgeführt. Es sucht lokal nach ElasticSearch, das Sie nicht haben, so erhalten Sie Verbindungsfehler. Wenn Sie es lokal ausführen möchten, müssen Sie den config.js -Code in Schritt 12B-Optional ausführen, der zum Lösen lokaler Verbindungsfehler benötigt wird. Wenn Ihre App einschläft oder abstürzt (exp am Ende), müssen Sie den Befehl node app.js erneut ausführen. Außerdem wird Heroku die App automatisch ausführen, wenn Sie den Code dorthin schieben.

- Für diesen Schritt müssen Sie jetzt Ihre export BONSAI_URL="<your_bonsai_url>" -Datei öffnen und gemäß Ссылка Code hinzufügen . Sie sollten den Code irgendwo nach der export BONSAI_URL="<your_bonsai_url>" -Deklaration hinzufügen.

%Vor%

-Die Anweisung sagt auch, $ app.js (also var elasticsearch = require('elasticsearch') ) auszuführen, was Sie NUR tun würden, wenn Sie Ihre App lokal ausführen möchten, um ES zu verwenden. Es ist nicht für Remote

gedacht

5.Richtungen:

5. Öffnen Sie die Datei export BONSAI_URL="https://username:[email protected]" und fügen Sie den folgenden Code hinzu und speichern Sie die Datei:

%Vor%
  

6 • curl -X POST Ссылка

6.com:

-Skipiere diesen Schritt, weil du an dieser Stelle kein lokales export BONSAI_URL="<your_BONSAI_URL>" auf deiner CPU hast, um zu indexieren

6.Richtungen:

6. ÜBERSCHREIBEN SIE DIESEN SCHRITT

  

7 • CD-Taschenlampe

7.commentations:

- Sie müssen dies nicht tun, Sie sollten sich immer noch in Ihrem app.js -Ordner befinden.

7.Richtungen:

7. ÜBERSCHREIBEN SIE DIESEN SCHRITT

  

8 • Heroku-Anmeldung

8.comments:

-Open Terminal

- Sie müssen Ihre ES s flashlight und Heroku eingeben. Wenn Sie das Passwort eingeben, wird es leer angezeigt

8.Richtungen:

8A. run: email address

8B. Bei der Eingabeaufforderung geben Sie Ihre password. und heroku login ein, um sich bei Heroku anzumelden

  

9 • heroku create (füge heroku dem Projekt hinzu)

9.comments:

-Daher musst du in Schritt 1D keine email address -App erstellen. Jetzt erstellen und benennen Sie Ihre heroku App

- Nach der Eingabe von password müssen Sie den Namen eingeben, den der Name Ihrer heroku-App haben soll. ich wähle den Namen heroku

- Nachdem Sie diesen Befehl ausgeführt haben, melden Sie sich bei create an und Sie sollten den Namen der App sehen. Gehe in die rechte Ecke, klicke auf sneakersearchinstanceAtoZ und wähle Heroku

9.Richtungen:

9. run: 9 dots

  

10 • Heroku-Addons: Bonsai hinzufügen (Bonsai installieren)

10.Kommentare:

- Bevor Sie diesen Schritt ausführen, müssen Sie Ihrem Dashboard -Konto ein heroku create sneakersearchinstanceAtoZ hinzufügen, andernfalls wird es nach der Ausführung angezeigt, dass Sie es tun müssen. Es ist immer noch ein freier Plan. Ich bin mir nicht sicher, ob Sie eine credit card ohne Karte hinzufügen können

- Um eine Kreditkarte hinzuzufügen, gehen Sie ganz nach rechts, klicken Sie auf das kreisförmige Symbol, wählen Sie Heroku und dann Bonsai add on

- Sie müssen jetzt Account Settings zu Ihrer Billing hinzufügen. Dazu führen Sie bonsai

aus

- heroku app ist unabhängig vom Namen der heroku addons:add bonsai --app <your-app-name> -App, den Sie in Schritt 9 erstellt haben

- Nachdem Sie <your-app-name> erstellt haben, möchten Sie, dass Sie den Cluster öffnen, indem Sie heroku

ausführen

10.Richtungen:

10A. Melden Sie sich bei bonsai cluster an und fügen Sie eine Kreditkarte zum heroku addons:open bonsai

hinzu

10B. run: Heroku // Derselbe genaue Name wie in Schritt 9

10C. Führen Sie Billing Page

aus
  

11 • heroku config (Überprüfen Sie die Bonsai-Instanzinformationen und kopieren Sie Ihre neue   BONSAI_URL Sie werden es später brauchen)

11.Kommentare:

-Running heroku addons:add bonsai --app sneakersearchinstanceAtoZ erhält alle Ihre heroku addons:open bonsai und ihre entsprechenden Werte. Wenn du deine heroku config siehst, kopiere ihren Wert, du brauchst ihn für die Schritte 12B und 17

- Dies ist die exakt gleiche URL, die Sie in Schritt 10C sehen.

-Das environment variables könnte etwas wie bonsai's url

aussehen

11.Richtungen:

11A. run: bonsai url

11B. Kopieren Sie das https://abc123a01:[email protected] , das zurückgegeben wird

  

12 • heroku config: setze FB_NAME = FB_TOKEN="" (deklariere   Umgebungsvariablen)

12.Kommentare:

-12A ist erforderlich. Sie müssen die heroku config Ihres Projekts bonsai url verwenden, die die GoogleService-Info.plist und die PROJECT_ID ist die FB_NAME für diesen Schritt

-12B ist optional. Wenn du dich lokal mit API_KEY verbinden willst, führe dies aus. Sie müssen FB_TOKEN so einstellen, dass das Ausführen von ElasticSearch keine Verbindungsfehler auslöst. Dazu führen Sie Folgendes aus: bonsai url . Sie müssen diesen Befehl pro Terminal-Sitzung ausführen oder wenn Ihre Heroku-App einschläft / abstürzt.

- Verwenden Sie keine Leerzeichen vor oder nach dem Gleichheitszeichen

12.Richtungen:

12A (ERFORDERLICH). run: node app.js

12B (optional) .run: export BONSAI_URL="<your_bonsai_url>"

  

13 • git add config.js (aktualisieren)

13.comments:

- Wenn Sie das ausführen, erhalten Sie möglicherweise einen Fehler, der besagt: Die folgenden Pfade werden von einer Ihrer .gitignore-Dateien ignoriert: config.js Verwenden Sie -f, wenn Sie sie wirklich hinzufügen möchten.

- Es wird gesagt, dass heroku config:set FB_NAME=sneakersearch-az12 FB_TOKEN=0012abc789xyz00019 und dann export BONSAI_URL="https://abc123a01:[email protected]" am Ende

ausgeführt werden soll

13.Anweisungen:

13A. run: git add config.js

13B. Bei einem Fehler run: -f

  

14 • git commit -m "Bonsai konfigurieren"

14.Richtungen:

14. run: git add config.js

  

15 • git push heroku master (auf Heroku anwenden)

15.Richtungen:

15. run: git add config.js -f

  

16 • heroku ps: Maßstab Worker = 1 (Start Dyno Worker)

16.comments:

- Die Antwort darauf, was dieser Befehl macht, ist hier Kann jemand "heroku" erklären? ps: skala web = 1 "

16.Richtungen:

16. run: git commit -m "configure bonsai"

  

17 • curl -X POST / Firebase (zB:    Ссылка )

17.comments:

- Bevor Sie diesen Schritt beginnen, lesen Sie @DoesData aktualisierte Antwort (unter Minen), um stattdessen curl -X PUT zu verwenden

-Grabieren Sie das git push heroku master , das Sie aus Schritt 11B kopiert haben

: Fügen Sie die URL nach dem Befehl heroku ps:scale worker=1 ein und stellen Sie sicher, dass Sie bonsai url am Ende hinzufügen.

-wenn dies geschieht, erstellt es einen Index namens curl -X POST , der auf Ihre /firebase verweist. Öffnen Sie Ihre Datei /firebase und suchen Sie nach bonsai url (Zeile 62). Das hat ein Schlüssel / Wert-Paar namens config.js (Zeile 65), der Wert zeigt auf den gerade erstellten Index und greift von dort auf den ES-Cluster zu

-Basisch in Ihrer Datei config.js muss in Zeile 65 der exports.paths -Wert index: "firebase" genau mit dem Namen index übereinstimmen, den Sie zum Ende firebase hinzufügen. Wenn die Namen nicht übereinstimmen, funktioniert nichts davon.

-bei Erfolg sollten Sie diese Antwort zurück erhalten: /firebase

17.Richtungen:

17. run: curl -X POST

  

18 • Nun ist es an der Zeit, Schritt 5 node app.js zu verwenden (führen Sie die App aus)

18.Kommentare:

- Durch Ausführen dieses Befehls wird die App lokal gestartet. Sie können {"acknowledged":true} auch ausführen, aber auf irgendeine Weise wird es auf Ihrem lokalen Rechner gestartet und Sie müssen den Code in Schritt 12B (Optional) ausführen, damit dies funktioniert

18.Richtungen

18. run: curl -X POST https://abc123a01:[email protected]/firebase

  

19 • Setzen Sie Ihre Zuordnungsobjekte (s)

FYI Schritt 19 ist sehr wichtig. Sie MÜSSEN Ihr MAPPING-OBJEKT einstellen und es ist SCHLÜSSEL. Ich habe nicht genug Zeichen, um es hier im Detail zu erklären. Dies ist der Schlüssel npm start von Schritt 4, mit dem festgelegt werden soll. In diesem Video erfährst du, wie du deinen node app.js : Ссылка einrichtest

19.Richtung:

19A. --open type oder mappings object Dann erstellen Sie eine Datei und nennen Sie sie TextEdit . Speichern Sie es und ziehen Sie die Datei in Ihren Sublime Ordner. Sie benötigen die Erweiterung sneakerfile.json .

19B. - Fügen Sie den folgenden Code hinzu, speichern und schließen Sie die Datei:

%Vor%

19C. schnappen Sie sich Ihre flashlight run .json . Meine BONSAI_URL ist Ссылка

19D. run: BONSAI_URL

19E. run: heroku config:get BONSAI_URL

Fertig mit Teil 1. Teil 2 erklärt Schritt 19 im Detail

Weitere Informationen -

Heroku Befehle:

Überprüfen Sie Ihre curl -XPOST https://abc123a01:[email protected]/firebase/sneakers/_mapping [email protected]

run: curl -XGET <BONASI_URL>/firebase/sneakers/_mapping?pretty

Wenn Sie Folgendes erhalten, dann lesen Sie die folgenden Links

%Vor%

Nach dem Erstellen Ihres dyno ist Ihr heroku ps unter dem Heroku app . Es wird schließlich dyno / Heroku Free Plan , wenn es nicht innerhalb eines bestimmten Zeitrahmens verwendet wird. Um zu schlafen / Absturz zu stoppen, folgen Sie

Einfache Möglichkeit, Heroku im Leerlauf zu verhindern?

Ссылка

Ссылка

Andere Befehle:

%Vor%

Um zum fall asleep zurückzukehren, drücken Sie crash

Sie können auch den Heroku Support oder Bonsai Support kontaktieren, da diese sehr hilfreich sind

Ich werde Teil 2 sehr bald veröffentlichen.

    
Lance Samaria 20.01.2017, 05:59
quelle
1

Die obige Antwort ist großartig. Allerdings gibt es viel zu viele Kommentare für mein Update, um dort nützlich zu sein, also lege ich es hier.

Wenn Sie die obigen Schritte befolgen, treten Sie in Schritt auf:

  1. rufe: curl -X POST Ссылка

Neuere Versionen von elasticSearch erlauben es nicht mehr, einen neuen Index mit POST zu erstellen, aber Sie können PUT verwenden. Sie möchten also

ausführen %Vor%

und die Antwort sollte lauten: {"acknowledged":true,"shards_acknowledged":true}

Siehe Diese Frage für weitere Informationen.

Aktualisieren

Ich bin auch zu Algolia gewechselt, weil die Dokumentation viel klarer war. Ich würde jedoch sagen, dass die Dokumentation der elastischen Suche ein Update dringend benötigt. Ich würde empfehlen, dass diejenigen, die an der elastischen Suche interessiert sind, versuchen, ihren Code mithilfe von Firebase-Cloud-Funktionen statt mit Heroku bereitzustellen. Ich konnte keinen Leitfaden dafür finden, aber der node.js-Code sollte ähnlich sein, außer dass er in der Firebase-Cloud anstelle von Heroku bereitgestellt wird. Dies sollte den Prozess viel einfacher machen. Sie können die Firebase Cloud-Funktionen hier

aufrufen     
DoesData 11.08.2017 17:53
quelle