info@yenlo.com
eng
Menu
API Management 4 min

Mit dem WSO2 API Manager Tool für die Befehlszeile arbeiten

Rob Blaauboer
Rob Blaauboer
Integration Consultant & WSO2 Trainer
Blog 17 1 scaled
Laptop

Die neueste Version des WSO2-API-Managers, Version 2.5.0, bietet ein zusätzliches Tool zum Herunterladen, das es Ihnen erleichtert, eine API oder eine App von einer Umgebung in die andere zu kopieren. Wer sich mit dem API-Manager auskennt, kann sagen: Moment mal, haben wir das nicht schon? Und teilweise haben sie Recht. Es gibt da ein Tool, mit dem Sie eine API, die mit dem API-Manager erstellt wurde, importieren oder exportieren können. Es heißt API – Import – Export und ist eigentlich eine War-Datei, die auf dem API-Manager selbst im Webapps-Verzeichnis bereitgestellt wird. Mein Kollege Daniel Stevanović hat bereits 2015 einen Blog darüber geschrieben.

Das Befehlszeilen-Tool ist mehr als das. Genau genommen benutzt es tatsächlich die neueste, an die Version des WSO2-API-Managers gebundene Version eben dieser War-Datei. Dazu kommt, dass du jetzt eine durchdachtere Lösung hast, in der du Umgebungen definieren kannst, in die du gerne kopieren möchtest. In diesem Blog werden wir uns ansehen, wie wir zwei Umfelder definieren können, sagen wir mal Entwicklung und Test und die Verwendung des Befehlszeilen-Tools von einem zum anderen Umfeld.

Einrichten der Umgebung

Definieren wir also die Umgebung, die wir nutzen wollten. Sie besteht aus zwei API-Managern auf demselben Server, was bedeutet, dass du einen Port-Offset benötigst, z.B. von einem der zweiten API-Manager, damit sie auf demselben Server koexistieren können. Wir werden keine weiteren Änderungen an den vorkonfigurierten API-Managern und dem Port-Offset vornehmen, die wir gerade beschrieben haben. Beim ersten API-Manager, demjenigen mit dem Null-Port-Offset, werden wir die Standard-API einsetzen: den

Pizzashack. Grund dafür ist, dass er im Paket mit der App enthalten ist und keine weitere Installation erfordert, klicken Sie einfach auf die Schaltfläche für die Bereitstellung der Beispiel-API.

Achte darauf, dass du die WSO2 API Manager 2.5.0 Import-/Export-WAR-Datei tatsächlich einsetzt. Du kannst sie von diesem Ort herunterladen.

Wir werden keine sehr detaillierte Erklärung darüber geben, wie du den API-Manager herunterladen und installierst. Wenn du nach Informationen darüber suchst, lies bitte unseren Blog über die Installation von WSO2-Produkten.

Ich habe den API-Manager mit WUM genommen und auf die neueste verfügbare Version aktualisiert. Er wurde auf Verzeichnisse umgestellt:

  1. APIM-DEV
  2. APIM-TEST

und achte darauf, dass der zweite API-Manager einen Port-Offset von eins hat.

Ich habe das apimcli-Tool im gleichen Verzeichnis heruntergeladen, in dem ich die beiden API-Unterverzeichnisse erstellt habe. Das Tool habe ich einmal ausgeführt, um die yaml-Konfigurationsdateien zu erstellen.

Lass uns die beiden Umgebungen über die Befehlszeile hinzufügen. Dies ist für eine Localhost-Bereitstellung unter Linux:

./apimcli add-env -n APIM-TEST --registration 
https://localhost:9444/client-registration/v0.13/register --apim 
https://localhost:9444 --token https://localhost:8244/token --
import-export https://localhost:9444/api-import-export-2.5.0-v1 --
admin https://localhost:9444/api/am/admin/v0.13 	--api_list 
https://localhost:9444/api/am/publisher/v0.13/apis --app_list 
https://localhost:9444/api/am/store/v0.13/applications./apimcli add-
env -n APIM-DEV --registration https://localhost:9443/client-
registration/v0.13/register --apim https://localhost:9443 --token 
https://localhost:8243/token --import-export 
https://localhost:9443/api-import-export-2.5.0-v1 --admin 
https://localhost:9443/api/am/admin/v0.13 	--api_list 
https://localhost:9443/api/am/publisher/v0.13/apis --app_list 
https://localhost:9443/api/am/store/v0.13/applications

Für Windows ist das ./ nicht notwendig.

Die Datei sieht wie folgt aus

Blog-17-2

Starte beide Beispiele mit der Shell der bat-Datei und melde dich bei der APIM-DEV an. Stelle die Beispiel-PizzaShack-API bereit.

Blog-17-3
Blog-17-4
Blog-17-5

Lass uns die Umgebungen auflisten. Wie du sehen kannst, sind die beiden Umgebungen vorhanden.

Blog-17-6

Wir werden nun die API mit dem apimcli-Werkzeug exportieren:

apimcli exportieren-api -n PizzaShackAPI -v 1.0.0 -r admin -e APIM-DEV -u admin -p admin

Wir stoßen jedoch auf ein Problem im Zusammenhang mit dem persönlich signierten Zertifikat. Es wird geantwortet, dass das Zertifikat von einer unbekannten Autorität signiert ist. Wir stellen das Tool nun mit der Einstellung -k oder –insecure her. Die Einstellung –verbose gibt weitere Informationen über die Aktionen des Tools.

apimcli export-api --verbose –-insecure -n PizzaShackAPI -v 1.0.0 -r admin -e APIM-DEV -u admin -p admin

Erfolgreich exportierte API! Wenn du eine CA hast, die noch nicht vertrauenswürdig ist, verwende die folgenden zwei Befehle, um die CA zu deinem Betriebssystem hinzuzufügen. Dies ist der Befehl für Centos7:

sudo cp cacert.pem /etc/pki/ca-trust/source/anchors/ 
sudo update-ca-trust

Die exportierte API findest du unter:

.wso2apimcliexportedapisAPIM-DEVPizzaShackAPI_1.0.0.zip in windows.

Linux hat ein anderes Verzeichnis, in dem die exportierten APIs gespeichert und erstellt werden.

/opt/wso2/.wso2apimcli/exported/apis/APIM-DEV/PizzaShackAPI_1.0.0.zip

Lass uns den Export überprüfen. Es gibt zwei Verzeichnisse, die exportiert werden:

  1. apis
  2. apps

Und tatsächlich finden wir eine Zip-Datei mit der exportierten PizzaShackAPI.

Blog-17-7

API importieren

Wir werden die API in APIM-TEST importieren.

Für Windows ist dies der Befehl aus dem Verzeichnis, in dem

apimcli import-api --verbose –-insecure -f APIM-DEVPizzaShackAPI_1.0.0.zip -e APIM-TEST -u admin -p admin

Linux diesen Befehl verwendet, beachten Sie, dass dies die Hinzufügung des CA-Zertifikats einschließt.

./apimcli import-api --verbose -f
/opt/wso2/.wso2apimcli/exported/apis/APIM-
DEV/PizzaShackAPI_1.0.0.zip -e APIM-TEST -u admin -p admin

Fragen zu diesem Blog? Zögere nicht, unten einen Kommentar zu hinterlassen.

eng
Schließen
Was ist auf unserer Speisekarte