Funktionen aus vorhandenen Docker-Images erstellen
Erfahren Sie, wie Sie Funktionen aus vorhandenen Docker-Images mit OCI Functions erstellen.
Sie können auf unterschiedliche Weise eine neue Funktionsdefinition auf dem OCI Functions-Server erstellen:
- Mit der Konsole, einem CLI-Befehl oder einem API-Vorgang können Sie eine neue Funktion erstellen, die auf einem vorhandenen Docker-Image basiert, das bereits in die Docker-Registry übertragen wurde (wie in diesem Thema beschrieben).
- Verwenden Sie den Fn-Projekt-CLI-Befehl
fn deploy
, um ein neues Docker-Image zu erstellen, das Image an die Docker-Registry zu übertragen und eine neue Funktion basierend auf dem Image in einem Schritt zu erstellen (wie unter Funktionen erstellen und bereitstellen beschrieben). - Codeeditor verwenden (siehe Funktionen mit Codeeditor erstellen).
- Vordefinierte Funktionen verwenden (siehe Funktionen mit vordefinierten Funktionen erstellen).
Wenn Sie eine neue Funktion auf Basis eines vorhandenen Docker-Images erstellen, geben Sie Funktionsmetadaten an, die auf dem OCI Functions-Server gespeichert werden sollen. Beispiel: Die maximale Zeitdauer, über die die Funktion ausgeführt werden darf.
Das vorhandene Image, das Basis für eine neue Funktion ist, muss für die Verwendung mit OCI Functions geeignet sein. Im Allgemeinen verwenden Sie oder ein anderer Benutzer zum Erstellen und Übertragen eines geeigneten Images die Fn-Projekt-CLI-Befehle und/oder die Docker-CLI-Befehle. Beispiel: Wenn Sie den Funktionscode und eine Datei "func.yaml" geschrieben haben, die Funktionsmetadaten enthält (möglicherweise auf Basis der Vorlage "helloworld" und "func.yaml" mit fn init
erstellt), können Sie:
fn build
verwenden, um ein neues Docker-Image aus der Funktion zu erstellen.docker push
verwenden, um das Image in die Docker-Registry zu übertragen.
Mit dem Image in der Docker-Registry können Sie dann mit der Konsole, einem CLI-Befehl oder einem API-Vorgang eine Funktion basierend auf dem Image erstellen, wie in diesem Thema beschrieben.
- Wählen Sie auf der Listenseite Anwendungen die Anwendung aus, in der die Funktion erstellt werden soll. Wenn Sie Hilfe beim Suchen der Listenseite oder der Anwendung benötigen, finden Sie weitere Informationen unter Anwendungen auflisten.
-
Wählen Sie unter Ressourcen die Option Funktionen aus.
Die Listenseite Funktionen wird geöffnet. Alle Funktionen in der ausgewählten Anwendung werden in einer Tabelle angezeigt.
- Wählen Sie die Schaltfläche Funktion erstellen aus, wählen Sie Aus vorhandenem Image erstellen aus, und geben Sie die folgenden Details an:
- Name: Ein Name für die neue Funktion. Geben Sie keine vertraulichen Informationen ein.
- Repository: Das Repository in der OCI Container Registry in der aktuellen Region, die das Image enthält.
- Image: Das vorhandene Image im OCI Container Registry-Repository in der aktuellen Region. Die Imagearchitektur muss mit der Ausprägung der Anwendung kompatibel sein (siehe Compute-Architektur angeben, auf der Funktionen ausgeführt werden sollen).
- Arbeitsspeicher: Der maximale Arbeitsspeicher, den die Funktion während der Ausführung belegen darf.
- Timeout: Die maximale Zeit, für die die Funktion ausgeführt werden kann.
- Bereitgestellten gleichzeitigen Zugriff aktivieren: Sie können anfängliche Verzögerungen beim Aufrufen der Funktion minimieren, indem Sie eine Mindestanzahl nebenläufiger Funktionsaufrufe angeben, für die eine ständig verfügbare Ausführungsinfrastruktur vorhanden sein soll.
Wenn Sie diese Option auswählen, geben Sie einen Wert für Provisioned Concurrency Units (PCUs) ein, um die Mindestanzahl von gleichzeitigen Funktionsaufrufen anzugeben. Der eingegebene tatsächliche PCUs-Wert muss ein Vielfaches von 10 sein. Wenn Speicher auf 256 MB gesetzt ist, muss der PCUs-Wert ein Vielfaches von 20 sein. Wenn Speicher auf 128 MB gesetzt ist, muss der PCUs-Wert ein Vielfaches von 40 sein. Die Gesamtanzahl der verfügbaren PCUs hängt von der Größe der Funktion, dem Mandantenlimit und davon ab, ob der bereitgestellte gleichzeitige Zugriff für andere Funktionen im Mandanten aktiviert wurde. Weitere Informationen zum bereitgestellten gleichzeitigen Zugriff finden Sie unter Anfängliche Latenz mit bereitgestelltem gleichzeitigem Zugriff reduzieren.
- Taggingoptionen: Wenn Sie über Berechtigungen zum Erstellen einer Ressource verfügen, sind Sie auch berechtigt, Freiform-Tags auf diese Ressource anzuwenden. Um ein definiertes Tag anzuwenden, müssen Sie über die Berechtigungen verfügen, den Tag-Namespace zu verwenden. Weitere Informationen zum Tagging finden Sie unter Ressourcentags. Wenn Sie nicht sicher sind, ob Sie Tags anwenden sollen, überspringen Sie diese Option, oder fragen Sie einen Administrator. Sie können Tags später anwenden.
-
Wählen Sie eine der folgenden Optionen aus:
- Um die Funktion jetzt auf dem OCI Functions-Server zu erstellen, wählen Sie Erstellen aus. Die neue Funktion wird in der Konsole in der Liste der Funktionen in der ausgewählten Anwendung angezeigt.
- Um die Funktion später mit Resource Manager und Terraform zu erstellen, wählen Sie Als Stack speichern aus, um die Ressourcendefinition als Terraform-Konfiguration zu speichern. Weitere Informationen zum Speichern von Stacks aus Ressourcendefinitionen finden Sie unter Stacks auf der Seite "Ressourcen erstellen" erstellen.
Mit der Fn-Projekt-CLI
Tipp
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 erstellen Sie mit der Fn-Projekt-CLI aus einem vorhandenen Docker-Image, das bereits in die Docker-Registry übertragen wurde, eine neue Funktion auf dem OCI Functions-Server:
-
Melden Sie sich als Funktionsentwickler bei Ihrer Entwicklungsumgebung an.
-
Erstellen Sie in einem Terminalfenster eine neue Funktion, indem Sie Folgendes eingeben:
fn create function <app-name> <function-name> <image-name>
Hierbei gilt:
<app-name>
ist der Name einer vorhandenen Anwendung, in der die neue Funktion erstellt werden soll.<function-name>
ist der Name der neuen Funktion, die Sie erstellen möchten. Geben Sie keine vertraulichen Informationen ein.<image-name>
ist der Name des in der Docker-Registry vorhandenen Images, auf dem die neue Funktion basieren soll. Die Imagearchitektur muss mit der Ausprägung der Anwendung kompatibel sein (siehe Compute-Architektur angeben, auf der Funktionen ausgeführt werden sollen).
Beispiel:
fn create function acmeapp acme-func phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3
In OCI Functions wird eine neue Funktion auf Basis des vorhandenen Images mit dem angegebenen Namen erstellt.
-
Prüfen Sie, ob die neue Funktion erstellt wurde, indem Sie Folgendes eingeben:
fn list functions <app-name>
Beispiel:
$ fn list functions acme-app NAME IMAGE acme-func phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.3
OCI-CLI verwenden
Verwenden Sie den Befehl oci fn function create und die erforderlichen Parameter, um eine Funktion zu erstellen:
oci fn function create --application-id <application-ocid> --display-name <function-name> --memory-in-mbs <memory> [OPTIONS]
Eine vollständige Liste der Kennzeichen und Variablenoptionen für OCI-CLI-Befehle finden Sie in der Befehlszeilenreferenz.
-
Führen Sie den Vorgang CreateFunction aus, um eine Funktion zu erstellen.