Création, déploiement et appel d'une fonction HelloWorld
Découvrez comment créer, déployer et appeler une fonction helloworld avec OCI Functions.
Vous pouvez commencer à utiliser OCI Functions à l'aide des commandes de l'interface de ligne de commande du projet Fn pour effectuer les opérations suivantes :
- Créer une fonction helloworld simple écrite en Java
- Propager l'image vers le registre Docker configuré pour OCI Functions
- Déploiement de la fonction vers une application dans OCI Functions
- Appeler la fonction
Si vous ne parvenez pas à effectuer l'une des étapes dans cette rubrique, consultez les solutions aux problèmes courants (reportez-vous àDépannage d'OCI Functions).
Pour commencer à utiliser OCI Functions, procédez comme suit :
- Vérifiez que vous avez terminé les étapes décrites dans les guides relatifs aux fonctions QuickStart.
- Connectez-vous à la console en tant que développeur de fonctions.
-
Utilisez la console pour créer une application dans OCI Functions :
- Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
- Sélectionnez la région à utiliser pour OCI Functions.
Nous vous recommandons d'utiliser la même région que celle de registre Docker indiquée dans le contexte d'interface de ligne de commande du projet Fn (reportez-vous à la section Création d'un contexte d'interface de ligne de commande du projet Fn pour la connexion à Oracle Cloud Infrastructure).
-
Sélectionnez le compartiment indiqué dans le contexte de l'interface d'interface de ligne de commande du projet Fn (reportez-vous àCréation d'un contexte d'interface d'interface de ligne de commande de projet Fn pour la connexion à Oracle Cloud Infrastructure).
La page Applications indique les applications déjà définies dans le compartiment.
-
Sélectionnez Créer une application et indiquez les éléments suivants :
- Nom de la nouvelle application : helloworld-app.
-
Réseau cloud virtuel et sous-réseau (jusqu'à trois sous-réseaux) dans lesquels exécuter la fonction. Par exemple, un réseau cloud virtuel appelé acme-vcn-01 et un sous-réseau public appelé Sous-réseau public IHsY:US-PHOENIX-AD-1. Notez qu'un sous-réseau public requiert une passerelle Internet dans le VCN et qu'un sous-réseau privé requiert une passerelle de service dans le VCN. Si un sous-réseau régional a été défini, il est recommandé de le sélectionner pour faciliter l'implémentation du basculement entre les domaines de disponibilité. Si aucun sous-réseau régional n'a été défini et que vous devez répondre à des exigences de haute disponibilité, sélectionnez plusieurs sous-réseaux. Nous vous recommandons de placer les sous-réseaux dans la même région que le registre Docker indiqué dans le contexte de l'interface de ligne de la commande du projet Fn (reportez-vous à la section Création d'un contexte d'interface de ligne de commande du projet Fn pour la connexion à Oracle Cloud Infrastructure).
- Choisissez Créer.
-
Connectez-vous à votre environnement de développement en tant que développeur de fonctions.
-
Dans une fenêtre de terminal, créez une fonction helloworld en Java en saisissant la commande suivante :
fn init --runtime java helloworld-funcUn répertoire nommé helloworld-func est créé et contient les éléments suivants :
- Un fichier de définition de fonction appelé func.yaml, contenant la quantité minimale d'informations requises pour créer et exécuter la fonction. Reportez-vous à la documentation du projet Fn pour en savoir plus sur les paramètres supplémentaires que vous pouvez inclure dans un fichier func.yaml.
- Un répertoire /src contenant des fichiers et répertoires source pour la fonction helloworld (y compris /src/main/java/com/example/fn/HelloFunction.java)
- Un fichier de configuration Maven appelé pom.xml qui indique les artefacts et dépendances du projet nécessaires à la compilation de la fonction à partir des fichiers source
- Passez au répertoire helloworld-func qui vient d'être créé.
-
Entrez la commande unique suivante du projet Fn pour construire la fonction et ses dépendances sous la forme d'une image Docker appelée helloworld-func, propager l'image vers le registre Docker indiqué et déployer la fonction vers OCI Functions dans helloworld-app :
fn -v deploy --app helloworld-appL'option
-vaffiche simplement plus d'informations sur les opérations des commandes du projet Fn (reportez-vous à la section Utilisation de l'interface de ligne de commande du projet Fn avec OCI Functions). - (Facultatif) Dans l'hypothèse où le registre Docker indiqué est Oracle Cloud Infrastructure Registry, utilisez la console pour vérifier que l'image helloworld-func a bien été propagée vers Oracle Cloud Infrastructure Registry :
- Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Conteneurs et artefacts, sélectionnez Registre de conteneurs.
-
Choisissez la région du registre.
Vous visualisez tous les référentiels dans le registre auquel vous avez accès. L'image propagée se trouve dans un nouveau référentiel portant un nom construit à partir :
- du nom du référentiel dans l'adresse du registre Docker dans le contexte de l'interface de ligne de demande du projet Fn (reportez-vous àCréation d'un contexte d'interface de ligne de commande du projet Fn pour la connexion à Oracle Cloud Infrastructure)
- du nom de l'image helloworld-func.
Par exemple, le nouveau référentiel peut être appelé
acme-repo/helloworld-func. - Sélectionnez le nom du nouveau référentiel. Des informations détaillées sur l'image helloworld-func qui a été propagée vers Oracle Cloud Infrastructure Registry s'affichent.
-
(Facultatif) Utilisez la console pour vérifier le bon déploiement de la fonction sur OCI Functions :
- Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
-
Sélectionnez le compartiment indiqué dans le contexte de l'interface d'interface de ligne de commande du projet Fn (reportez-vous àCréation d'un contexte d'interface d'interface de ligne de commande de projet Fn pour la connexion à Oracle Cloud Infrastructure).
La page Applications indique qu'une application appelée helloworld-app a été créée.
-
Sélectionnez l'application helloworld-app pour afficher les fonctions qu'elle contient.
L'onglet Fonctions indique que la fonction helloworld-func a été déployée vers OCI Functions.
-
Dans une fenêtre de terminal, appelez la fonction helloworld-func en saisissant la commande suivante :
fn invoke helloworld-app helloworld-funcLe message "Hello World !" s'affiche.
Félicitations ! Vous avez créé et déployé avec succès votre première fonction dans OCI Functions.