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
Si des utilisateurs et des groupes appropriés n'existent pas déjà :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Domaines.
- Sélectionnez un domaine, puis 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, reportez-vous à Notes de configuration.
Si un compartiment approprié dans lequel créer des ressources réseau et des ressources OCI Functions n'existe pas déjà :
- Connectez-vous à la console en tant qu'administrateur de 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, reportez-vous à Notes de configuration.
Si un VCN approprié dans lequel créer des ressources réseau n'existe pas déjà :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation , sélectionnez Fonctions de réseau, puis Réseaux cloud virtuels.
- Sélectionnez Démarrer l'assistant VCN dans le menu Actions pour créer un VCN.
- Dans le panneau Démarrer l'assistant VCN, sélectionnez Créer un VCN avec la connectivité Internet et Démarrer l'assistant VCN.
- 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.
Si des utilisateurs OCI Functions ne sont pas des administrateurs de location, procédez comme suit :
- Connectez-vous à la console en tant qu'administrateur de location.
- Ouvrez le menu de navigation et sélectionnez Identité et sécurité. Sous Identité, sélectionnez Stratégies.
-
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.
-
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
- Connectez-vous à la console en tant que développeur de fonctions.
- Ouvrez le menu de navigation et sélectionnez Services de développeur. Sous Fonctions, sélectionnez Applications.
- Sélectionnez la région que vous utilisez avec OCI Functions.
- Sélectionnez Create application (Créer une application).
- 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.
- Choisissez Créer.
Pour plus d'informations, reportez-vous à 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 de détails de l'application.
-
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.
- Select Launch cloud shell to display the Cloud Shell terminal window.
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 :
-
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).
-
Définissez le contexte du projet Fn pour utiliser le contexte de région :
fn use context <region-context>
où
<region-context>
est le contexte de la région en cours. Par exemple :fn use context us-phoenix-1
-
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...
-
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>
où
<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
-
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.
Dans le panneau Configuration du shell cloud 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 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).
- 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.
- Fermez la boîte de dialogue Générer un jeton.
Pour plus d'informations, reportez-vous à Notes de configuration.
Dans le panneau Configuration du shell cloud 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é à 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
Dans la fenêtre de terminal :
-
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.
Dans la fenêtre de terminal :
- Accédez au répertoire hello-java créé à l'étape précédente :
cd hello-java
- 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
- (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.
Dans la fenêtre de terminal :
-
Appelez la fonction hello-java en saisissant la commande suivante :
fn invoke helloworld-app hello-java
Le message "Hello world !" s'affiche.
-
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.
Maintenant que vous avez créé, déployé et appelé une fonction, découvrez comment :
- afficher les journaux de fonction dans le service Oracle Cloud Infrastructure Logging ou en configurant une URL syslog (reportez-vous à Stockage et visualisation des journaux de fonction)
- Explorer OCI Functions à l'aide d'exemples sur GitHub (reportez-vous à Exemples pour Oracle Functions)
- Appeler une fonction à l'aide des kits SDK (reportez-vous à Utilisation des kits SDK pour appeler des fonctions)
C'est fait !