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:
Rufen Sie in der Google Cloud Console die Übersichtsseite von Cloud Functions auf:
Achten Sie darauf, dass das Projekt ausgewählt ist, für das Sie Cloud Functions aktiviert haben.
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.
Klicken Sie auf Weiter, um zur Seite zur Codebearbeitung zu gelangen:
Klicken Sie auf Funktion testen, um den Testvorgang zu starten.
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:
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:
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.