Démarrage rapide de Functions sur Cloud Shell

Découvrez comment configurer et exécuter rapidement sur Cloud Shell à l'aide de OCI Functions QuickStart.

A. Configurez la location

1. Créer des groupes et des utilisateurs

Si des utilisateurs et des groupes appropriés n'existent pas déjà :

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
  3. Sélectionnez un domaine, puis sélectionnez l'onglet Gestion des utilisateurs.
  4. Créez un groupe en sélectionnant Créer un groupe dans la section Groupes.
  5. Créez un utilisateur en sélectionnant Créer dans la section Utilisateurs.
  6. Ajoutez un utilisateur à un groupe en sélectionnant son nom, puis Affectez un utilisateur à un groupe dans l'onglet Utilisateurs.

Pour plus d'informations, reportez-vous à Notes de configuration.

2. Créer un compartiment

Si un compartiment approprié dans lequel créer des ressources réseau et des ressources OCI Functions n'existe pas déjà :

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Compartiments.
  3. Sélectionnez Créer un compartiment.

Pour plus d'informations, reportez-vous à Notes de configuration.

3. Créer un VCN et des sous-réseaux

Si un VCN approprié dans lequel créer des ressources réseau n'existe pas déjà :

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Ouvrez le menu de navigation , sélectionnez Fonctions de réseau, puis Réseaux cloud virtuels.
  3. Sélectionnez Démarrer l'assistant VCN dans le menu Actions pour créer un VCN.
  4. Dans le panneau Démarrer l'assistant VCN, sélectionnez Créer un VCN avec la connectivité Internet et Démarrer l'assistant VCN.
  5. Entrez un nom pour le nouveau VCN, sélectionnez Suivant, puis sélectionnez Créer pour créer le VCN avec les ressources réseau associées.

Pour plus d'informations, reportez-vous à Notes de configuration.

4. Créer une stratégie pour le groupe et le service

Si des utilisateurs OCI Functions ne sont pas des administrateurs de location, procédez comme suit :

  1. Connectez-vous à la console en tant qu'administrateur de location.
  2. Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies.
  3. Sélectionnez Créer une stratégie, indiquez le nom et la description de la nouvelle stratégie, puis sélectionnez le compartiment racine de la location.

  4. Utilisez Policy Builder pour créer la stratégie. Sélectionnez Fonctions dans la liste des cas d'emploi de stratégie et basez la stratégie sur le modèle de stratégie Autoriser les utilisateurs à créer, déployer et gérer des fonctions et des applications.

    Le modèle de stratégie comprend les instructions de stratégie suivantes :

    • 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 instructions de stratégie par compartiment.

Pour plus d'informations, reportez-vous à Notes de configuration.

B. Création d'application

1. Créez votre première application
  1. Connectez-vous à la console en tant que développeur de fonctions.
  2. Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
  3. Sélectionnez la région que vous utilisez avec OCI Functions.
  4. Sélectionnez Create application (Créer une application).
  5. Indiquez l'une des valeurs suivantes :
    • helloworld-app comme nom de la nouvelle application. Vous allez déployer votre première fonction dans cette application et la spécifier lors de l'appel de la fonction.
    • VCN et sous-réseau dans lesquels exécuter la fonction. Un sous-réseau public requiert une passerelle Internet dans le VCN, et un sous-réseau privé requiert une passerelle de service dans le VCN.
  6. Choisissez Créer.

Pour plus d'informations, reportez-vous à instructions détaillées.

C. Configurer votre environnement de développement Cloud Shell

1, afficher le panneau de configuration du shell cloud et la fenêtre Cloud Shell ;

Dans la page de liste Applications de la console :

  1. Sélectionnez l'application helloworld-app que vous venez de créer pour afficher la page de détails de l'application.
  2. Accédez à la section Introduction, puis sélectionnez Afficher le guide en regard de Configuration de Cloud Shell.

    A savoir : Le panneau Configuration du shell cloud affiche désormais des commandes personnalisées pour vous. Vous copiez et collez ces commandes pour configurer votre environnement Cloud Shell pour le développement de fonctions.

  3. Select Launch cloud shell to display the Cloud Shell terminal window.
2. Configurer le contexte de l'interface de ligne de commande du projet Fn

Copiez et collez les commandes à partir du panneau Configuration du shell cloud dans la fenêtre de terminal Cloud Shell pour configurer votre environnement, comme suit :

  1. Recherchez le nom du contexte de projet Fn pré-créé pour la région en cours dans laquelle vous avez créé l'application :

    fn list context

    Au moins deux contextes de projet Fn sont renvoyés, un contexte par défaut et un contexte pour la région en cours (par exemple, nommé us-phoenix-1).

  2. Définissez le contexte du projet Fn pour utiliser le contexte de région :

    fn use context <region-context>

    <region-context> est le contexte de la région en cours. Par exemple :

    fn use context us-phoenix-1
  3. Configurez le contexte de projet Fn avec l'OCID du compartiment en cours propriétaire 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...
  4. Configurez le contexte de projet Fn avec l'adresse Oracle Cloud Infrastructure Registry dans la région et la location en cours à utiliser avec OCI Functions :

    fn update context registry <region-key>.ocir.io/<tenancy-namespace>/<repo-name-prefix>

    <repo-name-prefix> est le préfixe de votre choix pour le référentiel Oracle Cloud Infrastructure Registry dans lequel stocker les images de la fonction. Par exemple :

    fn update context registry phx.ocir.io/ansh81vru1zp/acme-repo
  5. Configurez le contexte de projet Fn avec l'OCID du compartiment pour les référentiels vers et à partir desquels OCI Functions doit propager et extraire des images de fonction, en saisissant ce qui suit :

    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 n'indiquez pas de valeur pour oracle.image-compartment-id, OCI Functions propage et extrait des images vers et depuis des référentiels dans le compartiment racine.

Pour plus d'informations, reportez-vous à Notes de configuration.

3. Générer un jeton d'authentification

Dans le panneau Configuration du shell cloud de la console :

  1. Sélectionnez Générer un jeton d'authentification pour afficher la page Jetons d'authentification, puis sélectionnez Générer un jeton.
  2. Entrez une description explicite du 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).
  3. Copiez le jeton d'authentification immédiatement vers un emplacement sécurisé à partir duquel vous pourrez l'extraire ultérieurement, car il ne s'affichera plus dans la console.
  4. Fermez la boîte de dialogue Générer un jeton.

Pour plus d'informations, reportez-vous à Notes de configuration.

4. Se connecter au registre

Dans le panneau Configuration du shell cloud de la console :

  1. 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
  2. Dans la fenêtre de terminal, collez la commande que vous venez de copier et exécutez-la.
  3. Lorsque vous êtes invité à saisir un mot de passe, saisissez 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, reportez-vous à Notes de configuration.

J. Créer, déployer et appeler votre fonction

1. Créez votre première fonction

Dans la fenêtre de terminal :

  1. Créez une fonction java helloworld en saisissant la commande suivante :

    fn init --runtime java hello-java

    Un répertoire nommé hello-java est créé, contenant :

    • un fichier de définition de fonction appelé func.yaml
    • un répertoire /src contenant des fichiers et répertoires source pour la fonction helloworld
    • un fichier de configuration Maven appelé pom.xml qui indique les dépendances requises pour compiler la fonction

    Java n'est qu'un des nombreux langages pris en charge.

    Pour plus d'informations, reportez-vous à instructions détaillées.

2. Déployer la première fonction

Dans la fenêtre de terminal :

  1. Accédez au répertoire hello-java créé à l'étape précédente :
    cd hello-java
  2. Saisissez la commande unique suivante du projet Fn pour construire la fonction et ses dépendances sous la forme d'une image Docker appelée hello-java, propager l'image vers le registre Docker indiqué et déployer la fonction vers OCI Functions dans l'application helloworld-app que vous avez créée précédemment :
    fn -v deploy --app helloworld-app
  3. (Facultatif) Vérifiez que la fonction a été déployée vers OCI Functions en sélectionnant l'onglet Fonctions (sur la page de détails de l'application helloworld-app) et en notant que la fonction hello-java apparaît désormais.

Pour plus d'informations, reportez-vous à instructions détaillées.

3. Appeler votre première fonction

Dans la fenêtre de terminal :

  1. Appelez la fonction hello-java en saisissant la commande suivante :

    fn invoke helloworld-app hello-java

    Le message "Hello world !" s'affiche.

  2. Appelez la fonction hello-java avec le paramètre 'John' en saisissant ce qui suit :

    echo -n 'John' | fn invoke helloworld-app hello-java

    Le message "Hello John !" s'affiche.

Félicitations ! Vous venez de créer, déployer et appeler votre première fonction à l'aide d'OCI Functions.

Pour plus d'informations, reportez-vous à instructions détaillées.

4. Etapes suivantes

Maintenant que vous avez créé, déployé et appelé une fonction, découvrez comment :

C'est fait !