Die Optionen zum Konfigurieren des GetHTTP-Prozessors sehen so aus, als ob sie für die Verbindung mit einer API eines Drittanbieters funktionieren würden. Ich muss den Benutzernamen (verfügbar), Passwort (verfügbar) und einen dritten String-Wert, der den Namen der Datenbank darstellt, senden. Wenn die Antwort (json) zurückkommt, enthält sie eine Sitzungskennung, die ich später für andere API (javascript) -Aufrufe benötigen werde. Es gibt eine "neue Eigenschaft" -Option für diesen Prozessor, von der ich dachte, dass ich sie vielleicht für die Datenbank-Zeichenkette verwenden könnte, sie scheint jedoch nach einem bestimmten Eigenschaftstyp zu suchen. Die Warnmeldung, die ich bekomme, besagt: "Datenbank" validiert gegen "Mydatenbankname" ist ungültig, weil "Datenbank" keine unterstützte Eigenschaft ist. Irgendein Rat? Wenn die Antwort zurückgegeben wird, wie würde ich dann die Sitzungs-ID für alle nachfolgenden API-Aufrufe beibehalten?NiFi: Welchen Prozessor würde ich verwenden, um eine Verbindung zu einer API eines Drittanbieters herzustellen, die 3 Berechtigungsnachweiselemente benötigt?
Antwort
GetHTTP akzeptiert dynamische Eigenschaften, die als HTTP-Request-Header an den Server übergeben werden. Ich hatte kein Problem mit dem Hinzufügen einer dynamischen Eigenschaft namens database
in NiFi 1.2.0, aber ich glaube, das ist eine relativ neue Ergänzung, die möglicherweise in früheren Versionen nicht verfügbar war. InvokeHTTP könnte eine Alternative sein.
Die Wiederverwendung der Sitzungs-ID erfordert das Analysieren der Sitzungs-ID aus der Antwort und in ein NiFi-Flowfile-Attribut. Abhängig von der Art des Inhalts, den Sie zurückbekommen, wird dies normalerweise mit einem ExtractText, EvaluateJsonPath oder einem ähnlichen Prozessor durchgeführt.
Nachfolgende GetHTTP- oder InvokeHTTP-Prozessoren sollten so konfiguriert werden, dass sie über eine dynamische Eigenschaft für die Sitzungs-ID verfügen. Der Wert für die Verwendung der NiFi-Ausdruckssprache für das Attribut flowfile lautet ${sessionid}
.
- 1. Wie verwende ich HttpClient, um eine Verbindung zu einer API herzustellen, die einen benutzerdefinierten Typ erwartet?
- 2. Verwenden von JS, um eine Verbindung mit einer API herzustellen und dann die JSON-Antwort auszugeben
- 3. Welchen API-Aufruf würde ich verwenden, um die Helligkeit von Laptop (.NET) zu ändern?
- 4. Wie Rails Gem zu verwenden, um eine Verbindung zu API herzustellen?
- 5. Wie verwende ich Jconsole um eine Verbindung zu EC2 herzustellen?
- 6. Verwenden von Django, um eine statusbehaftete Verbindung herzustellen
- 7. jee: jndi-lookup verwenden, um eine Verbindung zur Datenbank herzustellen
- 8. Konfigurieren Sie einen NiFi-Prozessor mit einer externen Datei
- 9. kann die Alarmierung im Nifi-Prozessor erfolgen?
- 10. Kann ich remote_api_stub in einer Google App verwenden, um eine Verbindung zum Remote-/Produktionsdatenspeicher herzustellen?
- 11. Erstellen Sie eine Client-Bibliothek mit sicherem Threading, um eine Verbindung mit einer externen API herzustellen
- 12. Wie verwenden Sie Induction, um eine Verbindung zu einer lokalen SQLite-Datenbank herzustellen?
- 13. Wie Spring JdbcTemplate verwenden, um eine Verbindung zu einer einfachen MySql-Datenbank herzustellen?
- 14. Apache Nifi Prozess ausführen Prozessor
- 15. Kann ich SQL Server Management Studio Express verwenden, um eine Verbindung mit einer MSDE-Datenbank herzustellen?
- 16. bash: Wie verwende ich eine Verbindungszeichenfolge, um eine Verbindung zu einer MySQL-Datenbank herzustellen?
- 17. ExecuteSQL Prozessor in Apache Nifi
- 18. Verwenden Sie OpenIdConnectServer und versuchen Sie, über API-Dienst eine Verbindung zu Facebook herzustellen
- 19. Was ist die sicherste Methode, um von einer DMZ aus eine Verbindung zu Active Directory herzustellen?
- 20. kann ich pymqi verwenden, um eine Verbindung zu einem IBM MQ Multiinstanzwarteschlangenmanager herzustellen
- 21. Wie Nifi Prozessor Zeitplan ausschalten
- 22. Apache Nifi GetFTP Prozessor Dynamische Eingabe
- 23. ember-simple-auth verwenden, um nach dem Login eine Verbindung zu Social Networks herzustellen
- 24. Wie verwende ich Veeva Vault, um eine Verbindung zu einer verwandten Ressource herzustellen?
- 25. Wie verwende ich PHP, um eine Remote-Verbindung zu einer Informix-Datenbank herzustellen?
- 26. Welche sind die sichersten Möglichkeiten, um eine Verbindung zu einer Datenbank mit PHP herzustellen?
- 27. Wie verwende ich Pymongo, um eine Verbindung zu einer vorhandenen Dokumentensammlung/db herzustellen?
- 28. Welchen Code würde ich verwenden, um einen SQL-ähnlichen Ausdruck zu einem regulären Ausdruck zu konvertieren?
- 29. Verwenden Sie Spring Data Couchbase, um eine Verbindung zu verschiedenen Couchbase-Clustern herzustellen.
- 30. URL um SSMS zu starten und eine Verbindung zu einer db herzustellen?
'GetHTTP' ist ein älterer Prozessor und wurde ursprünglich für die Übertragung von NiFi-spezifischen Daten zwischen Instanzen entwickelt. Während es wahrscheinlich immer noch gut funktioniert, ist 'InvokeHTTP' der neuere und voll funktionsfähigere Prozessor für diesen Anwendungsfall. – Andy
@ James/@ Andy, Vielen Dank für Ihren Rat. Ich werde mit dieser Info arbeiten. Nachdem ich gesehen habe, was für mich funktioniert, werde ich meine Ergebnisse hier veröffentlichen. – plditallo