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:
- APIM-DEV
- 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
Starte beide Beispiele mit der Shell der bat-Datei und melde dich bei der APIM-DEV an. Stelle die Beispiel-PizzaShack-API bereit.
Lass uns die Umgebungen auflisten. Wie du sehen kannst, sind die beiden Umgebungen vorhanden.
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:
- apis
- apps
Und tatsächlich finden wir eine Zip-Datei mit der exportierten PizzaShackAPI.
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.