Funktionen erstellen und bereitstellen
Erfahren Sie, wie Sie Funktionen mit Fn-Projekt-CLI-Befehlen in OCI Functions erstellen und bereitstellen.
Sie verwenden Fn-Projekt-CLI-Befehle, um Funktionen in OCI Functions zu erstellen und bereitzustellen.
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).
Fn-Projekt-CLI-Befehle verwenden
Gelegentlich werden neue Versionen der Fn-Projekt-CLI veröffentlicht. Wir empfehlen Ihnen, regelmäßig zu überprüfen, ob die neueste Version installiert ist. Weitere Informationen finden Sie in Schritte zum Upgrade der Fn-Projekt-CLI.
So können Sie eine Funktion mit Fn-Projekt-CLI-Befehlen erstellen und in OCI Functions bereitstellen:
- Bestätigen Sie, dass Sie die Schritte in den Funktionshandbüchern QuickStart ausgeführt haben.
-
Wenn die Anwendung, zu der Sie die Funktion hinzufügen möchten, noch nicht in OCI Functions vorhanden ist, erstellen Sie sie jetzt mit der Fn-Projekt-CLI oder der Konsole. Beispiel: Sie könnten eine neue Anwendung mit dem Namen "acmeapp" erstellen. Siehe Anwendungen erstellen.
-
Melden Sie sich als Funktionsentwickler bei Ihrer Entwicklungsumgebung an.
-
Ändern Sie in einem Terminalfenster das Verzeichnis in das Verzeichnis, das den Funktionscode enthält.
-
Initialisieren Sie die Funktion, indem Sie Folgendes eingeben:
fn init --runtime <runtime-language> <function-name>
Hierbei gilt:
<runtime-language>
ist eine der unterstützten Laufzeitsprachen (derzeit werden go, java, node, python, ruby und dotnet (für C#) unterstützt)<function-name>
ist der Name, der als Funktionsname verwendet werden soll. Wenn Sie keinen Funktionsnamen angeben, wird der Name des aktuellen Verzeichnisses (in Kleinbuchstaben) verwendet. Geben Sie keine vertraulichen Informationen ein.
Beispiel:
fn init --runtime java acme-func
Ein Verzeichnis wird mit dem angegebenen Funktionsnamen 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.
- 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.
Je nach der von Ihnen angegebenen Laufzeitsprache kann der Befehl
fn init
ein Verzeichnis "/example" mit Code für eine Helloworld-Anwendung erstellen. Es empfiehlt sich, das Verzeichnis "/example" zu löschen. - Wechseln Sie in das neu erstellte Verzeichnis.
-
Geben Sie den folgenden einzelnen Fn-Projektbefehl ein, um die Funktion und ihre Abhängigkeiten als Docker-Image zu erstellen, das Image in die angegebene Docker-Registry zu übertragen und die Funktion in OCI Functions bereitzustellen:
fn -v deploy --app <app-name>
Dabei ist
<app-name>
der Name der Anwendung in OCI Functions, zu der Sie die Funktion hinzufügen möchten. Beispiel:fn -v deploy --app acmeapp
Die Option
-v
zeigt lediglich weitere Details zu den Fn-Projektbefehlen an (siehe Fn-Projekt-CLI mit OCI Functions verwenden).Beachten Sie, dass Sie die Funktion auch mit separaten Fn-Projekt-Befehlen anstelle des einzelnen Befehls
fn deploy
erstellen, übertragen und bereitstellen können.Wenn Sie die Funktion zu einer Anwendung hinzufügen, für die eine Signaturverifizierungs-Policy aktiviert ist, müssen Sie zusätzliche Optionen angeben. Weitere Informationen finden Sie unter Funktionsimages signieren und die Verwendung signierter Images aus der Registry erzwingen.
- (Optional) Wenn Oracle Cloud Infrastructure Registry als Docker-Registry angegeben ist, bestätigen Sie in der Konsole, dass das Image 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 privaten 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)
- Name des übertragenen Images
Beispiel: Das neue Repository könnte den Namen
acme-repo/acme-func
erhalten.- Wählen Sie den Namen des neuen Repositorys. Es werden Details des 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 werden die Anwendungen im Compartment angezeigt, einschließlich dem im Befehl
fn deploy
angegebenen Compartment. -
Wählen Sie den Namen der Anwendung aus, die Sie im Befehl
fn deploy
angegeben haben, um die darin enthaltenen Funktionen anzuzeigen.Auf der Registerkarte Funktionen wird angezeigt, dass die Funktion in OCI Functions bereitgestellt wurde.