Démarrage rapide d'Oracle Functions dans Cloud Shell
Découvrez comment configurer et exécuter rapidement sur Cloud Shell à l'aide de ce service des fonctions pour OCI QuickStart.
A. Configurer votre location
Si les utilisateurs et groupes appropriés n'existent pas déjà :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
- Sélectionnez un domaine et sélectionnez l'onglet Gestion des utilisateurs.
- Créez un groupe en sélectionnant Créer un groupe dans la section Groupes.
- Créez un utilisateur en sélectionnant Créer dans la section Utilisateurs.
- Ajoutez un utilisateur à un groupe en sélectionnant son nom, puis affectez un utilisateur à un groupe dans l'onglet Utilisateurs.
Pour plus d'informations, voir Notes de configuration.
Si un compartiment approprié dans lequel créer des ressources de réseau et des ressources du service des fonctions pour OCI n'existe pas déjà :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Compartiments.
- Sélectionnez Créer un compartiment.
Pour plus d'informations, voir Notes de configuration.
Si un réseau VCN approprié dans lequel créer des ressources de réseau n'existe pas déjà :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation , sélectionnez Service de réseau, puis Réseaux en nuage virtuels.
- Sélectionnez Démarrer l'Assistant VCN dans le menu Actions pour créer un nouveau VCN.
- Dans le panneau Démarrer l'assistant VCN, sélectionnez Créer un VCN avec connectivité Internet et sélectionnez Démarrer l'assistant VCN.
- Entrez un nom pour le nouveau VCN, sélectionnez Suivant, puis Créer pour créer le VCN avec les ressources de réseau connexes.
Pour plus d'informations, voir Notes de configuration.
Si un ou plusieurs utilisateurs du service des fonctions pour OCI ne sont pas un administrateur de location :
- Connectez-vous à la console en tant qu'administrateur de la location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous identité, sélectionnez Politiques.
-
Sélectionnez Créer une politique, spécifiez un nom et une description pour la nouvelle politique, puis sélectionnez le compartiment racine de la location.
-
Utilisez le générateur de politiques pour créer la politique. Sélectionnez Fonctions dans la liste des cas d'utilisation de politique et basez la politique sur le modèle de politique Permettre aux utilisateurs de créer, de déployer et de gérer des fonctions et des applications.
Le modèle de politique comprend les énoncés de politique suivants :
Allow group <group-name> to use cloud-shell in tenancy
Allow group <group-name> to manage repos in tenancy
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'
Si nécessaire, vous pouvez restreindre ces énoncés de politique par compartiment.
Pour plus d'informations, voir Notes de configuration.
B. Créer une application
- Connectez-vous à la console en tant que développeur de fonctions.
- Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Fonctions, sélectionnez Applications.
- Sélectionnez la région que vous utilisez avec le service des fonctions pour OCI.
- Sélectionnez Créer une application.
- Spécifiez les données suivantes :
- helloworld-app comme nom de la nouvelle application. Vous allez déployer votre première fonction dans cette application et spécifier cette application lors de l'appel de la fonction.
- Le VCN et le sous-réseau dans lesquels exécuter la fonction. Notez qu'un sous-réseau public nécessite une passerelle Internet dans le VCN et qu'un sous-réseau privé nécessite une passerelle de service dans le VCN.
- Sélectionnez Créer.
Pour plus d'informations, voir instructions détaillées.
C. Configurer votre environnement de développement Cloud Shell
Dans la page de liste Applications de la console :
- Sélectionnez l'application helloworld-app que vous venez de créer pour afficher la page des détails de l'application.
-
Allez à la section Démarrage, puis sélectionnez Voir le guide à côté de Configuration de Cloud Shell.
Conseil : Le panneau Configuration de l'interpréteur de commandes en nuage affiche désormais des commandes personnalisées spécialement pour vous. Vous copiez et collez ces commandes pour configurer votre environnement Cloud Shell pour le développement de fonctions.
- Sélectionnez Lancer l'interpréteur de commandes en nuage pour afficher la fenêtre de terminal Cloud Shell.
Copiez et collez des commandes à partir du panneau Configuration de l'interpréteur de commandes en nuage dans la fenêtre de terminal Cloud Shell pour configurer votre environnement, comme suit :
-
Recherchez le nom du contexte Fn Project précréé pour la région courante dans laquelle vous avez créé l'application :
fn list context
Au moins deux contextes Fn Project sont retournés, un contexte par défaut et un contexte pour la région courante (par exemple, nommé us-phoenix-1).
-
Définissez le contexte Fn Project pour utiliser le contexte de région :
fn use context <region-context>
où
<region-context>
est le contexte de la région courante. Par exemple :fn use context us-phoenix-1
-
Configurez le contexte Fn Project avec l'OCID du compartiment courant qui sera responsable des fonctions déployées :
fn update context oracle.compartment-id <compartment-ocid>
Par exemple :
fn update context oracle.compartment-id ocid1.compartment.oc1..aaaaaaaarvdfa72n...
-
Configurez le contexte Fn Project avec l'adresse Oracle Cloud Infrastructure Registry dans la région et la location courantes que vous voulez utiliser avec le service des fonctions pour OCI :
fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name-prefix>
où
<repo-name-prefix>
est un préfixe de votre choix pour le référentiel d'Oracle Cloud Infrastructure Registry dans lequel stocker les images pour la fonction. Par exemple :fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
-
Configurez le contexte Fn Project avec l'OCID du compartiment pour les référentiels vers et depuis lesquels le service des fonctions pour OCI doit pousser et extraire des images de fonction, en entrant :
fn update context oracle.image-compartment-id <compartment-ocid>
Par exemple :
fn update context oracle.image-compartment-id ocid1.compartment.oc1..aaaaaaaaquqe______z2q
Si vous ne spécifiez pas de valeur pour
oracle.image-compartment-id
, le service des fonctions pour OCI pousse et extrait des images vers et depuis les référentiels du compartiment racine.
Pour plus d'informations, voir Notes de configuration.
Dans le panneau Configuration de l'interpréteur de commandes en nuage de la console :
- Sélectionnez Générer un jeton d'authentification pour afficher la page Jetons d'authentification, puis sélectionnez Générer un jeton.
- Entrez une description significative pour le jeton d'authentification dans la boîte de dialogue Générer un jeton, puis sélectionnez Générer un jeton. Le nouveau jeton d'authentification s'affiche (par exemple, 6aN...6MqX).
- Copiez le jeton d'authentification immédiatement vers un emplacement sécurisé à partir duquel vous pourrez l'extraire ultérieurement, car le jeton d'authentification ne s'affichera pas de nouveau dans la console.
- Fermez la boîte de dialogue Générer un jeton.
Pour plus d'informations, voir Notes de configuration.
Dans le panneau Configuration de l'interpréteur de commandes en nuage de la console :
-
Copiez la commande suivante :
docker login -u '<tenancy-namespace>/<user-name>' <region-key>.ocir.io
Par exemple :
docker login -u 'ansh81vru1zp/jdoe@acme.com' phx.ocir.io
Si votre location est fédérée avec Oracle Identity Cloud Service, le format sera légèrement différent. Par exemple :
docker login -u 'ansh81vru1zp/oracleidentitycloudservice/jdoe@acme.com' phx.ocir.io
- Dans la fenêtre de terminal, collez la commande que vous venez de copier et exécutez-la.
-
Lorsque vous êtes invité à indiquer un mot de passe, entrez le jeton d'authentification Oracle Cloud Infrastructure que vous avez créé et copié précédemment. Par exemple,
6aN...6MqX
Vous êtes maintenant prêt à commencer à créer, à déployer et à appeler des fonctions.
Pour plus d'informations, voir Notes de configuration.
D. Créer une fonction, la déployer et l'appeler
Dans la fenêtre de terminal :
-
Créez une fonction java helloworld en entrant :
fn init --runtime java hello-java
Un répertoire appelé hello-java est créé, contenant :
- un fichier de définition de fonction nommé func.yaml
- un répertoire source contenant des fichiers et répertoires sources pour la fonction helloworld
- un fichier de configuration Maven appelé pom.xml qui indique les dépendances requises pour la compilation de la fonction
Java n'est qu'un des nombreux langages pris en charge.
Pour plus d'informations, voir instructions détaillées.
Dans la fenêtre de terminal :
- Accédez au répertoire hello-java créé à l'étape précédente :
cd hello-java
- Entrez la commande Fn Project suivante pour créer la fonction et ses dépendances en tant qu'image Docker appelée hello-java, pousser l'image dans le registre Docker spécifié et déployer la fonction dans le service des fonctions pour OCI dans l'application helloworld-app que vous avez créée précédemment :
fn -v deploy --app helloworld-app
- (Facultatif) Vérifiez que la fonction a été déployée dans le service des fonctions pour OCI en sélectionnant l'onglet Fonctions (dans la page de détails de l'application helloworld-app) et en notant que la fonction hello-java apparaît maintenant.
Pour plus d'informations, voir instructions détaillées.
Dans la fenêtre de terminal :
-
Appelez la fonction hello-java en entrant :
fn invoke helloworld-app hello-java
Le message "Hello world!" s'affiche.
-
Appelez la fonction hello-java avec le paramètre
'John'
en entrant :echo -n 'John' | fn invoke helloworld-app hello-java
Le message "Hello John!" s'affiche.
Félicitations! Vous venez de créer, de déployer et d'appeler votre première fonction à l'aide du service des fonctions pour OCI.
Pour plus d'informations, voir instructions détaillées.
Maintenant que vous avez créé, déployé et appelé une fonction, découvrez comment :
- voir les journaux de fonction dans le service Oracle Cloud Infrastructure Logging ou en configurant une URL syslog (voir Stockage et consultation des journaux de fonction
- explorer le service des fonctions pour OCI à l'aide d'exemples sur GitHub (voir Exemples Oracle Functions)
- appeler une fonction à l'aide de SDK (voir Utilisation de SDK pour appeler des fonctions)
Vous avez terminé!