Cloud Run-Funktionen vor der Bereitstellung testen

In dieser Anleitung erfahren Sie, wie Sie eine Cloud Run-Funktion in der Google Cloud Console testen, bevor Sie sie bereitstellen. Diese Funktion ist für Node.js- und Python-Funktionen verfügbar.

Funktion zum Testen vorbereiten

So bereiten Sie eine Funktion für den Test vor:

  1. Rufen Sie in der Google Cloud Console die Übersichtsseite von Cloud Functions auf:

    Zur Seite „Cloud Functions“

    Achten Sie darauf, dass das Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.

  2. Klicken Sie auf Funktion erstellen, um eine neue Node.js- oder Python-Funktion zu erstellen. Sie können auch eine vorhandene Node.js- oder Python-Funktion auswählen und auf Bearbeiten klicken, um sie zu bearbeiten.

  3. Klicken Sie auf Weiter, um zur Seite zur Codebearbeitung zu gelangen:

    Screenshot mit dem Bereich „Test vor der Bereitstellung“

  4. Klicken Sie auf Funktion testen, um den Testvorgang zu starten.

  5. Wenn Sie dazu aufgefordert werden, klicken Sie auf Test starten, um die Verwendung des Cloud Shell-Terminals zu autorisieren.

Test machen

Wenn Sie die vorherigen Schritte ausgeführt haben, wird rechts das Steuerfeld für das Auslöseereignis geöffnet. Die Funktion kann jetzt getestet werden. Klicken Sie auf Testen:

Screenshot mit dem Bereich „Test vor der Bereitstellung“

Diese Phase des Testverfahrens umfasst die folgenden Komponenten:

  • Bereich „Auslösendes Ereignis“. Der Bereich für das auslösende Ereignis enthält bereits eine Nutzlast, die dem Ereignistrigger entspricht, den Sie auf der Konfigurationsseite angegeben haben. Dies ist die Eingabe für Ihre Funktion.
  • Cloud Shell-Ausgabefenster. Das Cloud Shell-Ausgabefenster zeigt den HTTP-Statuscode und die an den Aufrufer zurückgegebenen Antworten an.
  • Mit Testen wird der Test ausgeführt.

Sie können die Ausgabe des Tests im Cloud Shell-Fenster sehen:

Screenshot, auf dem das Cloud Shell-Ausgabefenster zu sehen ist

Cloud Shell-Terminal

Sie können die Logging-Ausgabe Ihrer Funktion im Cloud Shell-Terminal unten auf dem Bildschirm ansehen. Wenn Sie beispielsweise den Bereich „Tests“ öffnen, sehen Sie die Ausgabe des Quellcode-Pakets. Wenn Sie einen Test durchlaufen, sehen Sie die Änderungen am Quellcode und die Ausgabe auf Ausführungsebene, einschließlich console.log und Fehlern.

Wenn der Test fehlschlägt, zeigt das Cloud Shell-Terminal eine Fehlermeldung an, anhand derer Sie die genaue Ursache ermitteln können. Beispiel:

[11:31:47 AM] - Provided module can't be loaded.
Is there a syntax error in your code?
Detailed stack trace: /workspace/index.js:11
    : 'World';
    ^

SyntaxError: Unexpected token ':'
    at Object.compileFunction (node:vm:360:18)
    at wrapSafe (node:internal/modules/cjs/loader:1048:15)
    at Module._compile (node:internal/modules/cjs/loader:1083:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1173:10)
    at Module.load (node:internal/modules/cjs/loader:997:32)
    at Module._load (node:internal/modules/cjs/loader:838:12)
    at Module.require (node:internal/modules/cjs/loader:1021:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at getUserFunction (/workspace/node_modules/@google-cloud/functions-framework/build/src/loader.js:98:30)
    at async main (/workspace/node_modules/@google-cloud/functions-framework/build/src/main.js:35:32)

[11:31:47 AM] - Could not load the function, shutting down.

Bereitstellen

Wenn Sie mit den Tests fertig sind, können Sie Ihre Funktion wie gewohnt bereitstellen, wozu Sie auf Bereitstellen klicken.

Beschränkungen

Für Tests vor der Bereitstellung gelten einige bekannte Einschränkungen.

Netzwerkzugriff

Vor der Bereitstellung werden Tests in der Cloud Shell ausgeführt. Diese ist auch dann nicht mit Ihrer VPC verbunden, wenn Sie in den vorherigen Schritten einen serverlosen VPC-Zugriff angegeben haben. Zum Testen einer Cloud Run-Funktion, die von der VPC-Konnektivität abhängt, müssen Sie die Cloud Run-Funktion vollständig bereitstellen.