Schnellstart von Functions in Cloud Shell
Erfahren Sie, wie Sie mit dieser OCI Functions QuickStart schnell in Cloud Shell einrichten und ausführen können.
A. Richten Sie Ihren Mandanten ein
Falls noch keine geeigneten Benutzer und Gruppen vorhanden sind:
- Melden Sie sich als Mandantenadministrator bei der Konsole an.
- Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Domains aus.
- Erstellen Sie eine neue Gruppe, indem Sie Gruppen, Gruppe erstellen auswählen.
- Erstellen Sie einen neuen Benutzer, indem Sie Benutzer, Benutzer erstellen auswählen.
- Fügen Sie einen Benutzer zu einer Gruppe hinzu, indem Sie Gruppen, den Namen der Gruppe, Benutzer zu Gruppe hinzufügen auswählen.
Weitere Informationen finden Sie unter Konfigurationshinweise.
Wenn noch kein geeignetes Compartment zum Erstellen von Netzwerkressourcen und OCI Functions-Ressourcen vorhanden ist:
- Melden Sie sich als Mandantenadministrator bei der Konsole an.
- Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Compartments aus.
- Wählen Sie Compartment erstellen aus.
Weitere Informationen finden Sie unter Konfigurationshinweise.
Wenn noch kein geeignetes VCN zum Erstellen von Netzwerkressourcen vorhanden ist:
- Melden Sie sich als Mandantenadministrator bei der Konsole an.
- Öffnen Sie das Navigationsmenü , und wählen Sie Networking aus. Wählen Sie dann Virtuelle Cloud-Netzwerke aus.
- Wählen Sie VCN-Assistenten starten aus, um ein neues VCN zu erstellen.
- Wählen Sie im Dialogfeld VCN-Assistenten starten die Option VCN mit Internetverbindung aus, und wählen Sie VCN-Assistenten starten aus.
- Geben Sie einen Namen für das neue VCN ein, wählen Sie Weiter aus, und wählen Sie Erstellen aus, um das VCN zusammen mit den zugehörigen Netzwerkressourcen zu erstellen.
Weitere Informationen finden Sie unter Konfigurationshinweise.
Wenn mindestens ein OCI Functions-Benutzer kein Mandantenadministrator ist:
- Melden Sie sich als Mandantenadministrator bei der Konsole an.
- Öffnen Sie das Navigationsmenü , und wählen Sie Identität und Sicherheit aus. Wählen Sie unter Identität die Option Policys aus.
-
Wählen Sie Policy erstellen aus, geben Sie einen Namen und eine Beschreibung für die neue Policy an, und wählen Sie das Root Compartment des Mandanten aus.
-
Erstellen Sie die Policy mit Policy Builder. Wählen Sie in der Liste der Policy-Anwendungsfälle die Option Funktionen aus, und basieren Sie die Policy auf der Policy-Vorlage Erstellen, Bereitstellen und Verwalten von Funktionen und Anwendungen durch Benutzer zulassen.
Die Policy-Vorlage umfasst die folgenden Policy-Anweisungen:
Allow group <group-name> to use cloud-shell in tenancy
Gruppe <group-name> das Verwalten von Repositorys im Mandanten erlauben
Allow group <group-name> to read objectstorage-namespaces in tenancy
Allow group <group-name> to manage logging-family in tenancy
Allow group <group-name> to read metrics in tenancy
Allow group <group-name> to manage functions-family in tenancy
Allow group <group-name> to use virtual-network-family in tenancy
Allow group <group-name> to use apm-domains in tenancy
Allow group <group-name> to read vaults in tenancy
Allow group <group-name> to use keys in tenancy
Allow service faas to use apm-domains in tenancy
Allow service faas to read repos in tenancy where request.operation='ListContainerImageSignatures'
Allow service faas to {KEY_READ} in tenancy where request.operation='GetKeyVersion'
Allow service faas to {KEY_VERIFY} in tenancy where request.operation='Verify'
Bei Bedarf können Sie diese Policy-Anweisungen nach Compartment einschränken.
Weitere Informationen finden Sie unter Konfigurationshinweise.
B. Anwendung erstellen
- Melden Sie sich als Funktionsentwickler in der Konsole an.
- Ö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 mit OCI Functions verwenden.
- Klicken Sie auf Anwendung erstellen.
- Geben Sie Folgendes an:
- helloworld-app als Name für die neue Anwendung. Sie stellen Ihre erste Funktion in dieser Anwendung bereit und geben diese Anwendung beim Aufrufen der Funktion an.
- Das VCN und das Subnetz, in denen die Funktion ausgeführt werden soll. 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.
- Wählen Sie Erstellen.
Weitere Informationen finden Sie in detaillierte Anweisungen.
C. Cloud Shell-Entwicklungsumgebung einrichten
Auf der Seite Anwendungen in der Konsole:
- Wählen Sie die gerade erstellte helloworld-app-Anwendung aus, um die Seite mit den Anwendungsdetails anzuzeigen.
-
Wählen Sie den Link Erste Schritte und dann Cloud Shell-Setup aus.
Tipp: Auf der Seite Erste Schritte werden jetzt Befehle angezeigt, die speziell auf Sie zugeschnitten sind. Sie kopieren diese Befehle und fügen sie ein, um die Cloud Shell-Umgebung für die Funktionsentwicklung zu konfigurieren.
- Wählen Sie Cloud Shell starten aus, um das Cloud Shell-Terminalfenster anzuzeigen.
Kopieren Sie Befehle von der Seite Erste Schritte, und fügen Sie sie wie folgt in das Cloud Shell-Terminalfenster ein, um die Umgebung zu konfigurieren:
-
Suchen Sie den Namen des vorab erstellten Fn-Projektkontextes für die aktuelle Region, in der Sie die Anwendung erstellt haben:
fn list context
Mindestens zwei Fn-Projektkontexte werden zurückgegeben, ein Standardkontext und ein Kontext für die aktuelle Region (Beispiel: us-phoenix-1).
-
Legen Sie den Fn-Projektkontext so fest, dass der Regionskontext verwendet wird:
fn use context <region-context>
Dabei ist
<region-context>
der Kontext für die aktuelle Region. Beispiel:fn use context us-phoenix-1
-
Konfigurieren Sie den Fn-Projektkontext mit der OCID des aktuellen Compartments, das Eigentümer der bereitgestellten Funktionen ist:
fn update context oracle.compartment-id <compartment-ocid>
Beispiel:
fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaaaarvdfa72n...
-
Konfigurieren Sie den Fn-Projektkontext mit der Oracle Cloud Infrastructure Registry-Adresse in der aktuellen Region und dem aktuellen Mandanten, die Sie mit OCI Functions verwenden möchten:
fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name-prefix>
Dabei ist
<repo-name-prefix>
ein Präfix Ihrer Wahl für das Oracle Cloud Infrastructure Registry-Repository, in dem Images für die Funktion gespeichert werden sollen. Beispiel:fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
-
Konfigurieren Sie den Fn-Projektkontext mit der OCID des Compartments für Repositorys, in und aus denen OCI Functions Funktionsimages per Push und Pull übertragen soll, indem Sie Folgendes eingeben:
fn update context oracle.image-compartment-id <compartment-ocid>
Beispiel:
fn update context oracle.image-compartment-id ocid1.compartment.oc1..aaaaaaaaquqe______z2q
Wenn Sie keinen Wert für
oracle.image-compartment-id
angeben, überträgt und ruft OCI Functions Images in und aus Repositorys im Root Compartment ab.
Weitere Informationen finden Sie unter Konfigurationshinweise.
Auf der Seite Erste Schritte in der Konsole:
- Wählen Sie Authentifizierungstoken generieren aus, um die Seite Authentifizierungstoken anzuzeigen, und wählen Sie Token generieren aus.
- Geben Sie im Dialogfeld Token generieren eine aussagekräftige Beschreibung für das Authentifizierungstoken ein, und wählen Sie Token generieren aus. Das neue Auth-Token wird angezeigt (z.B. 6aN...6MqX).
- Kopieren Sie das Authentifizierungstoken sofort in einen sicheren Speicherort, aus dem Sie es später abrufen können, da das Authentifizierungstoken nicht mehr in der Konsole angezeigt wird.
- Schließen Sie das Dialogfeld Token generieren.
Weitere Informationen finden Sie unter Konfigurationshinweise.
Auf der Seite Erste Schritte in der Konsole:
-
Kopieren Sie den folgenden Befehl:
docker login -u '<tenancy-namespace>/<user-name>' <region-key>.ocir.io
Beispiel:
docker login -u 'ansh81vru1zp/jdoe@acme.com' phx.ocir.io
Wenn Ihr Mandant mit Oracle Identity Cloud Service föderiert wird, unterscheidet sich das Format geringfügig. Beispiel:
docker login -u 'ansh81vru1zp/oracleidentitycloudservice/jdoe@acme.com' phx.ocir.io
- Fügen Sie im Terminalfenster den soeben kopierten Befehl ein, und führen Sie ihn aus.
-
Wenn Sie zur Eingabe eines Kennworts aufgefordert werden, geben Sie das Oracle Cloud Infrastructure-Authentifizierungstoken ein, das Sie zuvor erstellt und kopiert haben. Beispiel:
6aN...6MqX
Sie können jetzt mit dem Erstellen, Bereitstellen und Aufrufen von Funktionen beginnen.
Weitere Informationen finden Sie unter Konfigurationshinweise.
D. Erstellen Sie Ihre Funktion, stellen Sie sie bereit, und rufen Sie sie auf
Im Terminalfenster:
-
Erstellen Sie eine helloworld-java-Funktion, indem Sie Folgendes eingeben:
fn init --runtime java hello-java
Es wird ein Verzeichnis namens hello-java erstellt, das Folgendes enthält:
- eine Funktionsdefinitionsdatei mit dem Namen func.yaml
- ein/src-Verzeichnis mit Quelldateien und Verzeichnissen für die helloworld-Funktion
- eine Maven-Konfigurationsdatei mit dem Namen pom.xml, in der die zum Kompilieren der Funktion erforderlichen Abhängigkeiten angegeben sind
Java ist nur eine von mehreren unterstützten Sprachen.
Weitere Informationen finden Sie in detaillierte Anweisungen.
Im Terminalfenster:
- Wechseln Sie in das im vorherigen Schritt erstellte Verzeichnis hello-java:
cd hello-java
- Geben Sie den folgenden einzelnen Fn-Projektbefehl ein, um die Funktion und ihre Abhängigkeiten als Docker-Image mit dem Namen "hello-java" zu erstellen, das Image in die angegebene Docker-Registry zu übertragen und die Funktion in OCI Functions in der zuvor erstellten Anwendung "helloworld-app" bereitzustellen:
fn -v deploy --app helloworld-app
- (Optional) Bestätigen Sie, dass die Funktion in OCI Functions bereitgestellt wurde, indem Sie auf der Detailseite für die helloworld-app-Anwendung unter Ressourcen die Option Funktionen auswählen und feststellen, dass die hello-java-Funktion jetzt angezeigt wird.
Weitere Informationen finden Sie in detaillierte Anweisungen.
Im Terminalfenster:
-
Rufen Sie die hello-java-Funktion auf, indem Sie Folgendes eingeben:
fn invoke helloworld-app hello-java
Die Meldung "Hello world!" wird angezeigt.
-
Rufen Sie die hello-java-Funktion mit dem Parameter
'John'
auf, indem Sie Folgendes eingeben:echo -n 'John' | fn invoke helloworld-app hello-java
Die Meldung "Hello John!" wird angezeigt.
Herzlichen Glückwunsch! Sie haben gerade Ihre erste Funktion mit OCI Functions erstellt, bereitgestellt und aufgerufen.
Weitere Informationen finden Sie in detaillierte Anweisungen.
Nachdem Sie eine Funktion erstellt, bereitgestellt und aufgerufen haben, lernen Sie Folgendes:
- Funktionslogs im Oracle Cloud Infrastructure Logging-Service anzeigen oder eine Syslog-URL konfigurieren (siehe Funktionslogs speichern und anzeigen)
- OCI Functions mit Beispielen auf GitHub untersuchen (siehe Oracle Functions-Beispiele)
- Funktion mit SDKs aufrufen (siehe Funktionen mit SDKs aufrufen)
Sie sind fertig!