Création, déploiement et appel d'une fonction Helloworld

Découvrez comment créer, déployer et appeler une fonction helloworld avec le service des fonctions pour OCI.

Vous pouvez commencer à utiliser le service des fonctions pour OCI à l'aide des commandes de l'interface de ligne de commande Fn Project pour :

  • Créer une fonction helloworld simple écrite en Java
  • Pousser l'image vers le registre Docker configuré pour le service des fonctions pour OCI
  • déployer la fonction vers une application dans le service des fonctions pour OCI
  • Appeler la fonction
Conseil

Si vous ne parvenez pas à effectuer une des étapes de cette rubrique, consultez les solutions aux problèmes communs (voir Dépannage du service des fonctions pour OCI).

Pour démarrer avec le service des fonctions pour OCI :

  1. Confirmez que vous avez terminé les étapes dans les guides du service des fonctions QuickStart.
  2. Connectez-vous à la console en tant que développeur de fonctions.
  3. Utiliser la console pour créer une nouvelle application dans le service des fonctions pour OCI :

    1. Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Fonctions, sélectionnez Applications.
    2. Sélectionnez la région que vous souhaitez utiliser pour le service des fonctions pour OCI.

      Nous vous recommandons d'utiliser la même région que le registre Docker spécifié dans le contexte d'interface de ligne de commande Fn Project (voir Création d'un contexte d'interface de ligne de commande Fn Project pour se connecter à Oracle Cloud Infrastructure).

    3. Sélectionnez le compartiment spécifié dans le contexte de l'interface de ligne de commande Fn Project (voir Création d'un contexte d'interface de ligne de commande Fn Project pour se connecter à Oracle Cloud Infrastructure).

      La page Applications présente les applications déjà définies dans le compartiment.

    4. Sélectionnez Créer une application et spécifiez :

      • Le nom de la nouvelle application, soit helloworld-app.
      • Le VCN et le sous-réseau (ou les sous-réseaux, trois au maximum) dans lesquels exécuter la fonction. Par exemple, un VCN nommé 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, la meilleure pratique consiste à sélectionner ce sous-réseau pour effectuer un basculement sur tous les domaines de disponibilité, ce qui est plus simple à mettre en oeuvre. Si aucun sous-réseau régional n'a été défini et que vous devez répondre aux exigences de haute disponibilité, sélectionnez plusieurs sous-réseaux. Nous recommandons que les sous-réseaux se trouvent dans la même région que le registre Docker spécifié dans le contexte d'interface de ligne de commande Fn Project (voir Création d'un contexte d'interface de ligne de commande Fn Project pour se connecter à Oracle Cloud Infrastructure).

    5. Sélectionnez 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 Java helloworld en entrant :

    fn init --runtime java helloworld-func

    Un répertoire appelé helloworld-func est créé, contenant :

    • Un fichier de définition de fonction appelé func.yaml, qui comporte la quantité minimale d'informations requises pour créer et exécuter la fonction. Voir la documentation Fn Project pour en savoir plus sur les paramètres supplémentaires que vous pouvez inclure dans un fichier func.yaml.
    • Un répertoire /src contenant les fichiers et répertoires sources 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 requis pour compiler la fonction à partir des fichiers sources.
  6. Remplacez le répertoire par le nouveau répertoire helloworld-func.
  7. Entrez la commande Fn Project suivante pour créer la fonction et ses dépendances en tant qu'image Docker appelée helloworld-func, pousser l'image vers le registre Docker spécifié et déployer la fonction vers le service des fonctions pour OCI dans helloworld-app :

    fn -v deploy --app helloworld-app

    L'option -v présente simplement plus de détails sur les commandes Fn Project (voir Utilisation de l'interface de ligne de commande Fn Project avec le service des fonctions pour OCI).

  8. (Facultatif) En supposant que le registre Docker spécifié est Oracle Cloud Infrastructure Registry, utilisez la console pour confirmer que l'image helloworld-func a été poussée vers Oracle Cloud Infrastructure Registry :
    1. Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Conteneurs et artefacts, sélectionnez Registre de conteneurs.
    2. Sélectionnez la région du registre.

      Vous voyez tous les référentiels dans le registre auxquels vous avez accès. L'image que vous avez poussée se trouve dans un nouveau référentiel dont le nom est construit à partir du :

      Par exemple, le nouveau référentiel pourrait avoir pour nom acme-repo/helloworld-func.

    3. Sélectionnez le nom du nouveau référentiel. Vous voyez les détails de l'image helloworld-func qui a été poussée vers Oracle Cloud Infrastructure Registry.
  9. (Facultatif) Utilisez la console pour confirmer que la fonction a été déployée avec succès dans le service des fonctions pour OCI :

    1. Ouvrez le menu de navigation et sélectionnez Services de développement. Sous Fonctions, sélectionnez Applications.
    2. Sélectionnez le compartiment spécifié dans le contexte de l'interface de ligne de commande Fn Project (voir Création d'un contexte d'interface de ligne de commande Fn Project pour se connecter à Oracle Cloud Infrastructure).

      La page Applications montre qu'une application nommée helloworld-app a été créée.

    3. Sélectionnez l'application helloworld-app pour voir les fonctions qu'elle contient.

      L'onglet Fonctions montre que la fonction helloworld-func a été déployée dans le service des fonctions pour OCI.

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

    fn invoke helloworld-app helloworld-func

    Le message "Hello World !" s'affiche.

Félicitations! Vous avez créé et déployé votre première fonction dans le service des fonctions pour OCI.