Wrapper-APIs bereitstellen

Die Oracle Blockchain Platform Digital Assets Edition ermöglicht die Generierung von Wrapper-APIs für alle Controller-APIs innerhalb des von App Builder generierten Chaincodes. Dieses Thema enthält detaillierte Schritte zum Deployment des Wrapper-APIs-Packages im Stack Resource Manager und zum Testen der Wrapper-APIs mit der zugehörigen Postman-Collection.

Wenn das Wrapper-API-Package mit Blockchain App Builder generiert wird, werden zwei Dateien mit Standardbenennungskonventionen im ausgewählten Verzeichnis erstellt:

  1. <ChaincodeName>WrapperAPI.zip: Diese Datei enthält das Terraform-Skript, das für das Deployment der Wrapper-APIs in Oracle Cloud Infrastructure Resource Manager erforderlich ist.
  2. <ChaincodeName>_WrapperAPI.postman_collection.json: Eine Postman-Collection, die zum Testen der Wrapper-APIs nach dem Deployment verwendet wird.

Um die Wrapper-APIs bereitzustellen, muss die Datei WrapperAPI.zip in OCI Resource Manager verwendet werden.

Voraussetzungen

Für das Deployment des Wrapper-APIs-Packages müssen folgende Voraussetzungen erfüllt sein:

  • Das Package für Wrapper-APIs muss mit App Builder generiert werden.
  • Das Package muss alle erforderlichen Konfigurationsvariablenwerte und Endpunktwerte für die Wrapper-APIs enthalten.
Wrapper-API-Package bereitstellen
  1. Melden Sie sich bei OCI an.
    Öffnen Sie die OCI-Konsole, und melden Sie sich an: https://cloud.oracle.com/.
    Stellen Sie sicher, dass Sie sich im Compartment befinden, in dem der Stack bereitgestellt wird.
  2. Blenden Sie das Menü Navigation ein. Wählen Sie Entwicklerservices aus. Wählen Sie unter Resource Manager die Option Stacks aus.
    Die Resource Manager-Schnittstelle für Stacks wird geöffnet. Sie können vorhandene Stacks anzeigen, neue Stacks erstellen und Ihre Infrastruktur mit Terraform-Konfigurationen als Code verwalten.
  3. Erstellen Sie einen neuen Stack, indem Sie auf Stack erstellen klicken.
  4. Konfigurieren Sie die Stackinformationen.
    1. Wählen Sie im Abschnitt Terraform-Konfiguration die Option Meine Konfiguration aus.
    2. Wählen Sie unter Stackkonfiguration, Terraform-Konfigurationsquelle, .Zip-Datei aus.
    3. Klicken Sie auf Durchsuchen, und navigieren Sie zur ZIP-Datei der Wrapper-APIs.
    4. Stellen Sie nach dem Hochladen sicher, dass der Stackname korrekt ist.
    5. Alle verbleibenden Einstellungen können als Standardeinstellungen beibehalten werden. Klicken Sie auf Weiter.
  5. Konfigurieren Sie die Stackvariablen.
    1. Stellen Sie sicher, dass alle Konfigurationsvariablenwerte korrekt sind, und passen Sie sie an die im Wrapper-API-Package angegebenen Konfigurationsvariablen an, um die Anforderungen für Ihr Deployment zu erfüllen.
    2. Geben Sie unter ocir_user_name die E-Mail-Adresse ein, die mit Ihrem OCI-Account verknüpft ist.
    3. Geben Sie unter ocir_user_password Ihr Kennwort ein, das Ihr Oracle Cloud Infrastructure-Authentifizierungstoken ist. Dieses Token kann in der OCI-Konsole unter Ihren Benutzereinstellungen generiert werden. Das Authentifizierungstoken dient als Kennwort für die Anmeldung bei Oracle Cloud Infrastructure Registry (OCIR).
      Ausführliche Anweisungen zum Generieren des Authentifizierungstoken finden Sie unter Authentifizierungstoken generieren.
    4. Alle verbleibenden Einstellungen können als Standardeinstellungen beibehalten werden. Klicken Sie auf Weiter.
  6. Prüfen Sie die Stackinformationen. Wenn alles korrekt ist, klicken Sie auf Erstellen.
  7. Führen Sie den Terraform-Plan aus.
    1. Klicken Sie auf der Seite Details des Stacks auf Planen, um die Erstellung eines Ausführungsplans zu initiieren.
    2. Konfigurieren Sie optional den Jobplan. Sie können den Standardnamen bearbeiten oder erweiterte Optionen auswählen, um die Providerversion der Anpassungseinstellungen zu ändern.
    3. Klicken Sie auf Planen, um den Planjob zu erstellen und auszuführen.
      Dadurch wird Ihre Terraform-Konfiguration geparst, ein Ausführungsplan generiert und der Plan wie folgt ausgeführt:
      • Validiert das Terraform-Skript, um sicherzustellen, dass keine Syntax- oder Konfigurationsfehler vorhanden sind.
      • Simuliert den Ressourcenerstellungsprozess, ohne Änderungen an der tatsächlichen Infrastruktur vorzunehmen.
      • Liefert eine Ausgabeübersicht mit einer Liste der Ressourcen, die das Skript erstellen, ändern oder löschen möchte.
    4. Überwachen Sie den Status im Abschnitt "Jobs" Ihres Stacks. Prüfen Sie nach dem erfolgreichen Abschluss des Plans die Ausgabe, um die Anzahl der zu erstellenden Ressourcen zu bestätigen, und stellen Sie sicher, dass keine Probleme auftreten.
  8. Wenden Sie den Terraform-Plan auf den Stack an.
    1. Klicken Sie auf der Seite Details des Stacks auf Anwenden.
    2. Klicken Sie im Bereich "Terraform anwenden" auf Anwenden.
      So führen Sie die folgenden Schritte aus:
      • Stellt alle folgenden Ressourcen gemäß der Definition im Terraform-Skript bereit:
        • Virtuelles Cloud-Netzwerk (VCN)
        • Anwendungen (OCI Functions)
        • API-Gateway
        • API-Deployment
        • IAM-Policy
        • OCI-Registry-Repository
      • Erstellt die gesamte erforderliche Infrastruktur für die Wrapper-APIs.
    3. Überwachen Sie den Status im Abschnitt "Jobs" Ihres Stacks, um sicherzustellen, dass der Job ohne Fehler erfolgreich abgeschlossen wurde.
  9. Rufen Sie die API-Gateway-Endpunkte ab.
    1. Wenn der Apply-Job abgeschlossen ist, gehen Sie zum Abschnitt Ausgaben der Seite "Job anwenden", um die generierten Ausgabewerte anzuzeigen.
    2. Die Ausgabe gibt ein JSON-Objekt zurück, bei dem die Schlüssel Endpunktnamen darstellen und die Werte die entsprechenden Endpunktwerte sind.
      Beispiel:
      api_gateway_endpoints{"api_gateway_endpoint":"https://grqkdiwsugp3fp2m5z3zgpo4.apigateway.ap-mumbai-1.oci.customer-oci.com/WholesaleCBDC"}
    3. Kopieren Sie den Endpunkt - Sie müssen die API-Postman-Sammlung aktualisieren.
Testen von Wrapper-APIs mit Postman

Sie können die APIs in Postman testen. Konfigurieren Sie alle Variablen in der Wrapper API Postman-Sammlung, indem Sie die entsprechenden Werte zuweisen. Der Wert api_gateway_endpoint muss aus der Ausgabe des Stack-Deployments in OCI abgerufen werden, wo die dynamisch generierten Gatewayendpunkte angegeben werden.

Nachdem die Variablen in der Postman-Sammlung aktualisiert wurden, können Sie die Wrapper-APIs testen. Jede API-Anforderung in der Collection enthält die erforderliche Payload, die für die entsprechende Wrapper-API spezifisch ist.

Abbildung 6-1: Testen einer API-Wrapper-Sammlung mit Postman


Das Bild zeigt, wie Postman eine API aus der Sammlung mit der generierten Gateway-API ausführt.

Fehlerbehebung

Im Folgenden finden Sie einige häufig auftretende Probleme und deren Lösungen.

Nicht autorisiert: ocir_user_name oder ocir_user_password ungültig
Dieser Fehler tritt auf, wenn die Zugangsdaten für den Benutzernamen oder das Kennwort falsch sind. Zur Lösung dieses Problems führen Sie die folgenden Schritte aus:
  1. Navigieren Sie auf der Seite "Stackdetails" zum Abschnitt Variablen.
  2. Klicken Sie auf Variablen bearbeiten, um die Werte für Benutzername und Kennwort zu ändern.
  3. Aktualisieren Sie die Zugangsdaten mit den richtigen Informationen.
  4. Nachdem die Änderungen vorgenommen wurden, klicken Sie auf Anwenden, um den Stack erneut bereitzustellen.

Dadurch sollte das Authentifizierungsproblem gelöst werden, und das Deployment kann erfolgreich fortgesetzt werden.

Deployment-Fehler - "abgewiesen: Anonyme Benutzer haben nur Lesezugriff auf öffentliche Repositorys"
Gelegentlich kann das Deployment mit folgendem Fehler fehlschlagen:
denied: Anonymous users are only allowed read access on public repos

Dies ist ein intermittierendes Problem, das sich auf Docker-Vorgänge im Backend des Stacks bezieht. Dieser Fehler tritt insbesondere auf, wenn versucht wird, Docker-Images ohne ordnungsgemäße Authentifizierung in die Oracle Cloud Infrastructure Registry (OCIR) zu übertragen.

Das Wrapper-API-Package enthält zwar ein Skript, das docker login vor dem Push der Images ausführt, um eine ordnungsgemäße Authentifizierung sicherzustellen, dieser Fehler kann jedoch immer noch sporadisch auftreten. Dies geschieht in der Regel, wenn der Docker-Authentifizierungsschritt beim Image-Push vom System nicht richtig erkannt wird.

Wenn dieser Fehler auftritt, führen Sie die folgenden Schritte aus, um das Problem zu beheben:

  1. Löschen Sie vorhandene Ressourcen:

    Klicken Sie im OCI Stack Resource Manager auf Löschen, um alle beim Deployment-Prozess erstellten Ressourcen zu löschen.

  2. Stack erneut anwenden:

    Nachdem Sie die Ressourcen gelöscht haben, klicken Sie erneut auf Anwenden, um den Stack erneut bereitzustellen. Dies löst die Erstellung der erforderlichen Ressourcen einschließlich der richtigen Docker-Authentifizierung aus und sollte das Problem beheben.

Generischer Deployment-Fehler: Intermittierende Probleme
Manchmal kann das Stack-Deployment aufgrund zufälliger Probleme wie Docker nicht erfolgreich sein. Führen Sie in solchen Fällen die folgenden Schritte aus, um das Problem zu beheben:
  1. Klicken Sie auf Löschen, um alle Ressourcen zu entfernen, die während des nicht erfolgreichen Deployments erstellt wurden.
  2. Navigieren Sie nach dem Löschen der Ressourcen zurück zum Stack, und klicken Sie auf Anwenden, um den Stack erneut bereitzustellen.

Dieser Prozess löst häufig intermittierende Probleme, sodass das Deployment erfolgreich fortgesetzt werden kann.