Helloworld-Funktion erstellen, bereitstellen und aufrufen
Erfahren Sie, wie Sie eine Helloworld-Funktion mit OCI Functions erstellen, bereitstellen und aufrufen.
Als erste Schritte mit OCI Functions können Sie mit Fn-Projekt-CLI-Befehlen folgende Aufgaben ausführen:
- Einfache, in Java geschriebene Helloworld-Funktion erstellen
- Image in die für OCI Functions konfigurierte Docker-Registry übertragen
- Funktion für eine Anwendung in OCI Functions bereitstellen
- Funktion aufrufen
Wenn Sie einen der Schritte in diesem Thema nicht erfolgreich abschließen können, lesen Sie die Lösungen zu allgemeinen Problemen (siehe Fehlerbehebung in OCI Functions).
Erste Schritte mit OCI Functions:
- Bestätigen Sie, dass Sie die Schritte in den Funktionshandbüchern QuickStart ausgeführt haben.
- Melden Sie sich als Funktionsentwickler in der Konsole an.
-
Erstellen Sie mit der Konsole eine neue Anwendung in OCI Functions:
- Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Funktionen die Option Anwendungen aus.
- Wählen Sie die Region aus, die Sie für OCI Functions verwenden möchten.
Es wird empfohlen, dass Sie dieselbe Region wie die Docker-Registry verwenden, die im Fn-Projekt-CLI-Kontext angegeben ist (siehe Fn-Projekt-CLI-Kontext für die Verbindung mit Oracle Cloud Infrastructure erstellen).
-
Wählen Sie das Compartment aus, das im Fn-Projekt-CLI-Kontext angegeben wurde (siehe Fn-Projekt-CLI-Kontext für die Verbindung mit Oracle Cloud Infrastructure erstellen).
Auf der Seite Anwendungen werden die bereits im Compartment definierten Anwendungen angezeigt.
-
Wählen Sie Anwendung erstellen, und geben Sie:
- Name für die neue Anwendung: helloworld-app.
-
VCN und Subnetz (bzw. Subnetze, bis zu drei sind möglich), in denen die Funktion ausgeführt werden soll. Beispiel: Ein VCN namens "acme-vcn-01" und ein öffentliches Subnetz mit dem Namen "Public Subnet IHsY:US-PHOENIX-AD-1". Beachten Sie, dass für ein öffentliches Subnetz ein Internetgateway im VCN erforderlich ist und für ein privates Subnetz ein Servicegateway im VCN erforderlich ist. Wurde ein regionales Subnetz definiert, sollten Sie vorzugsweise dieses Subnetz auswählen, um eine Failover-Implementierung in allen Availability-Domains zu vereinfachen. Wenn kein regionales Subnetz definiert wurde und Sie High-Availability-Anforderungen erfüllen müssen, wählen Sie mehrere Subnetze aus. Es wird empfohlen, dass sich die Subnetze in derselben Region wie die Docker-Registry befinden sollten, die im Fn-Projekt-CLI-Kontext angegeben ist (siehe Fn-Projekt-CLI-Kontext für die Verbindung mit Oracle Cloud Infrastructure erstellen).
- Wählen Sie Erstellen.
-
Melden Sie sich als Funktionsentwickler bei Ihrer Entwicklungsumgebung an.
-
Erstellen Sie in einem Terminalfenster eine Helloworld-Funktion mit Java, indem Sie Folgendes eingeben:
fn init --runtime java helloworld-func
Ein Verzeichnis mit dem Namen "helloworld-func" wird erstellt. Es enthält Folgendes:
- Eine Funktionsdefinitionsdatei mit dem Namen "func.yaml", die die Mindestanzahl Informationen enthält, die für das Erstellen und Ausführen der Funktion erforderlich sind. Weitere Informationen zu zusätzlichen Parametern, die Sie in eine func.yaml-Datei aufnehmen können, finden Sie in der Fn-Projekt-Dokumentation.
- Ein SRC-Verzeichnis mit Quelldateien und Verzeichnissen für die Helloworld-Funktion (einschließlich "/src/main/java/com/example/fn/HelloFunction.java").
- Eine Maven-Konfigurationsdatei mit dem Namen "pom.xml", die die Projektartefakte und Abhängigkeiten angibt, die zur Kompilierung der Funktion aus den Quelldateien erforderlich sind.
- Wechseln Sie in das neu erstellte Verzeichnis "helloworld-func".
-
Geben Sie den folgenden einzelnen Fn-Projektbefehl ein, um die Funktion und ihre Abhängigkeiten als Docker-Image mit dem Namen "helloworld-func" zu erstellen, das Image in die angegebene Docker-Registry zu übertragen und die Funktion in OCI Functions in der Helloworld-App bereitzustellen:
fn -v deploy --app helloworld-app
Die Option
-v
zeigt lediglich weitere Details zu den Fn-Projektbefehlen an (siehe Fn-Projekt-CLI mit OCI Functions verwenden). - (Optional) Wenn Oracle Cloud Infrastructure Registry als Docker-Registry angegeben ist, bestätigen Sie in der Konsole, dass das Image "helloworld-func" erfolgreich an Oracle Cloud Infrastructure Registry übertragen wurde:
- Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Container und Artefakte die Option Container Registry aus.
-
Wählen Sie die Registry-Region.
Alle Repositorys in der Registry, auf die Sie zugreifen können, werden angezeigt. Das von Ihnen übertragene Image befindet sich in einem neuen Repository mit einem Namen, der wie folgt erstellt wurde:
- das Repository-Namenspräfix in der Adresse der Docker-Registry im Fn-Projekt-CLI-Kontext (siehe Fn-Projekt-CLI-Kontext für die Verbindung mit Oracle Cloud Infrastructure erstellen)
- Aus dem Namen des Images "helloworld-func"
Beispiel: Das neue Repository könnte den Namen
acme-repo/helloworld-func
erhalten. - Wählen Sie den Namen des neuen Repositorys. Es werden Details des helloworld-func-Images angezeigt, das an Oracle Cloud Infrastructure Registry übertragen wurde.
-
(Optional) Bestätigen Sie in der Konsole, dass die Funktion erfolgreich in OCI Functions bereitgestellt wurde:
- Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Funktionen die Option Anwendungen aus.
-
Wählen Sie das Compartment aus, das im Fn-Projekt-CLI-Kontext angegeben wurde (siehe Fn-Projekt-CLI-Kontext für die Verbindung mit Oracle Cloud Infrastructure erstellen).
Auf der Seite Anwendungen wird angezeigt, dass eine Anwendung mit dem Namen "helloworld-app" erstellt wurde.
-
Wählen Sie die Anwendung "helloworld-app", um die Funktionen darin anzuzeigen.
Auf der Seite Funktionen wird angezeigt, dass die Funktion "helloworld-funk" in OCI Functions bereitgestellt wurde.
-
Rufen Sie in einem Terminalfenster die Funktion "helloworld-func" auf. Geben Sie dazu Folgendes ein:
fn invoke helloworld-app helloworld-func
Die Meldung "Hello World!" wird angezeigt.
Herzlichen Glückwunsch! Sie haben erfolgreich Ihre erste Funktion in OCI Functions erstellt und bereitgestellt.