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
Conseil

Si vous ne pouvez pas effectuer l'une des étapes de cette rubrique, consultez les solutions aux problèmes courants (reportez-vous à Dépannage des fonctions OCI).

Pour commencer à utiliser OCI Functions, procédez comme suit :

  1. Vérifiez que vous avez effectué les étapes décrites dans les guides QuickStart Functions.
  2. Connectez-vous à la console en tant que développeur de fonctions.
  3. Utilisez la console pour créer une application dans OCI Functions :

    1. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
    2. Sélectionnez la région à utiliser pour OCI Functions.

      Nous vous recommandons d'utiliser la même région que celle du registre Docker indiqué dans le contexte de l'interface de ligne de commande du projet Fn (reportez-vous à Création d'un contexte d'interface de ligne de commande de projet Fn pour la connexion à Oracle Cloud Infrastructure).

    3. Sélectionnez le compartiment indiqué dans le contexte de l'interface de ligne de commande du projet Fn (voir Création d'un contexte 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.

    4. 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 nécessite une passerelle Internet dans le VCN, et qu'un sous-réseau privé nécessite 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 recommandons que les sous-réseaux figurent dans la même région que le registre Docker indiqué dans le contexte de l'interface de ligne de commande de projet Fn (reportez-vous à Création d'un contexte d'interface de ligne de commande de projet Fn pour la connexion à Oracle Cloud Infrastructure).

    5. Choisissez Créer.
  4. Connectez-vous à votre environnement de développement en tant que développeur de fonctions.

  5. Dans une fenêtre de terminal, créez une fonction helloworld en Java en saisissant la commande suivante :

    fn init --runtime java helloworld-func

    Un 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
  6. Passez au répertoire helloworld-func qui vient d'être créé.
  7. 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-app

    L'option -v affiche simplement plus de détails sur les résultats des commandes du projet Fn (reportez-vous à Utilisation de l'interface de ligne de commande du projet Fn avec les fonctions OCI).

  8. (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 :
    1. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Conteneurs et artefacts, sélectionnez Registre de conteneurs.
    2. 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 :

      Par exemple, le nouveau référentiel peut être appelé acme-repo/helloworld-func.

    3. 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.
  9. (Facultatif) Utilisez la console pour vérifier le bon déploiement de la fonction sur OCI Functions :

    1. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
    2. Sélectionnez le compartiment indiqué dans le contexte de l'interface de ligne de commande du projet Fn (voir Création d'un contexte 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.

    3. 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.

  10. Dans une fenêtre de terminal, appelez la fonction helloworld-func en saisissant la commande suivante :

    fn invoke helloworld-app helloworld-func

    Le message "Hello World !" s'affiche.

Félicitations ! Vous avez créé et déployé avec succès votre première fonction dans OCI Functions.