Planification d'une fonction
Découvrez comment programmer une fonction avec OCI Functions.
Pour plus d'informations et connaître les prérequis, reportez-vous à la section Scheduling Functions.
Lorsque vous utilisez la console pour planifier des fonctions, vous pouvez créer une planification de ressources dans le planificateur de ressources et ajouter une fonction à la planification de ressources à l'aide des éléments suivants :
- Pages de la console OCI Functions
- Pages Console du planificateur de ressources
Si vous souhaitez modifier ou supprimer une programmation de ressources existante, ou enlever une fonction d'une programmation de ressources, vous devez utiliser les pages de la console du planificateur de ressources (pour plus d'informations, reportez-vous à Gestion des programmations dans la documentation du planificateur de ressources).
Pour programmer une fonction à l'aide des pages de la console OCI Functions afin de créer une programmation dans Resource Scheduler, procédez comme suit :
- Sur la page de liste Applications, sélectionnez l'application qui contient la fonction à utiliser. Si vous avez besoin d'aide pour trouver la page de liste ou l'application, reportez-vous à Liste des applications.
-
Sélectionnez l'onglet Fonctions.
La page de liste Fonctions s'ouvre. Toutes les fonctions de l'application sélectionnée sont affichées dans un tableau.
- Sélectionnez le nom de la fonction à programmer, puis sélectionnez Programmations pour afficher la page Programmations de la fonction.
Toutes les programmations existantes dans le compartiment en cours auquel la fonction a déjà été ajoutée sont affichées.
- Sur la page Programmations de la console OCI Functions, sélectionnez Ajouter une programmation pour ajouter la fonction à une programmation.
Vous pouvez ajouter la fonction à une nouvelle planification que vous créez (comme décrit dans cette section) ou ajouter la fonction à une planification existante que vous (ou quelqu'un d'autre) avez déjà créée.
- Sélectionnez Créer une programmation et indiquez les détails suivants :
- Nom : nom de votre choix pour le nouveau planning de ressources. Evitez de saisir des informations confidentielles.
- Description : (facultatif) description explicite du nouveau planning des ressources.
- Compartiment : compartiment dans lequel créer la programmation de ressource.
-
Indiquez le mode de saisie des détails du planning en sélectionnant l'une des options suivantes :
- Interface de panneau : sélectionnez cette option pour définir la planification à l'aide des champs de l'interface utilisateur.
- Expression CRON : sélectionnez cette option pour définir la programmation en saisissant une expression CRON.
- Si vous avez sélectionné Interface de panneau comme mode de définition de la planification, utilisez le champ Intervalle pour sélectionner l'intervalle de temps de la planification et spécifiez d'autres détails appropriés pour l'intervalle de temps comme suit :
- Une fois : entrez l'heure et la date UTC auxquelles la programmation doit commencer.
- Heure : entrez la fréquence à laquelle le planning doit se répéter (1 = toutes les heures, 2 = toutes les deux heures, 3 = toutes les trois heures), l'heure et la date UTC auxquelles le planning doit commencer et (facultatif) la date à laquelle le planning doit se terminer.
- Quotidien : Indiquez la fréquence à laquelle le planning doit se répéter (1 = tous les jours, 2 = tous les deux jours, 3 = tous les trois jours), l'heure et la date UTC auxquelles le planning doit commencer et (éventuellement) la date à laquelle le planning doit se terminer.
- Hebdomadaire : Entrez la fréquence à laquelle le planning doit se répéter (1 = toutes les semaines, 2 = toutes les deux semaines, 3 = toutes les trois semaines), les jours de la semaine pendant lesquels le planning doit exécuter la fonction, l'heure UTC et la date à laquelle le planning doit commencer et (éventuellement) la date à laquelle le planning doit se terminer.
- Mensuel : entrez la fréquence à laquelle le planning doit se répéter (1 = tous les mois, 2 = tous les deux mois, 3 = tous les trois mois), les jours du mois pendant lesquels le planning doit exécuter la fonction, l'heure et la date UTC à laquelle le planning doit commencer et (facultatif) la date à laquelle le planning doit se terminer.
Le champ Récapitulatif affiche une version texte de la programmation que vous saisissez.
- Si vous avez sélectionné Expression CRON comme mode de définition de la programmation, entrez les détails suivants :
- Expression CRON : entrez une expression CRON valide pour définir l'intervalle de programmation. Par exemple :
- Pour définir le calendrier d'exécution de la fonction chaque semaine à 13h30 UTC les lundi, mardi, mercredi, jeudi et vendredi, entrez :
30 13 * * mon-fri
- Pour définir le calendrier d'exécution de la fonction toutes les 2 heures le 15e jour de chaque mois, saisissez :
0 */2 15 * *
- Pour définir le calendrier d'exécution de la fonction chaque semaine à 13h30 UTC les lundi, mardi, mercredi, jeudi et vendredi, entrez :
- Heure : entrez l'heure UTC à laquelle la programmation doit commencer.
- Date de début : Entrez la date à laquelle le programme doit commencer.
- Date de fin : (facultatif) entrez la date de fin de la programmation.
Pour plus d'informations sur les expressions CRON, reportez-vous à Utilisation d'une expression CRON dans la documentation du planificateur de ressources.
- Expression CRON : entrez une expression CRON valide pour définir l'intervalle de programmation. Par exemple :
- (Facultatif) Pour transmettre des arguments et des valeurs à la fonction, sélectionnez l'option Ajouter la charge utile d'appel et entrez les arguments et les valeurs dans un format attendu par la fonction. Si la fonction attend des arguments et des valeurs au format JSON, utilisez un format JSON valide.
- (Facultatif) Pour appliquer des balises à la ressource, sélectionnez Ajouter une balise. Si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès permettant d'appliquer des balises à format libre à cette ressource. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
-
Sélectionnez Créer pour créer la programmation et y ajouter la fonction.
La nouvelle programmation de ressource est affichée sur la page Programmations de la fonction dans la console OCI Functions.
Après avoir créé la programmation de ressources et ajouté une fonction à celle-ci, vous devez créer à la fois un groupe dynamique avec une règle qui inclut l'OCID de la programmation de ressources et une instruction de stratégie qui accorde au groupe dynamique l'accès à la fonction :
- Sélectionnez la programmation de ressource pour afficher ses détails dans la console du planificateur de ressources, puis copiez l'OCID de la programmation. Par exemple,
ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq
. - Créez un groupe dynamique en suivant les instructions de Procédure pour créer un groupe dynamique, attribuez un nom au groupe dynamique (par exemple,
resource-scheduler-prod-dynamic-group
) et indiquez une règle pour ce groupe dynamique comme suit :ALL {resource.type='resourceschedule', resource.id='<resource-schedule-OCID>'}
où
<resource-schedule-OCID>
est l'OCID de la programmation de ressource que vous avez copiée précédemment. Par exemple :ALL {resource.type='resourceschedule', resource.id='ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq'}
- Créez une stratégie pour accorder au nouveau groupe dynamique l'accès aux fonctions dans OCI Functions en suivant les instructions de la section Procédure de création d'une stratégie, donnez un nom à la stratégie (par exemple,
resource-scheduler-prod-dyn-grp-policy
) et indiquez une instruction de stratégie similaire à la suivante :Allow dynamic-group <dynamic-group-name> to manage functions-family in tenancy
où
<dynamic-group-name>
est le nom du groupe dynamique créé à l'étape précédente. Par exemple :Allow dynamic-group resource-scheduler-prod-dynamic-group to manage functions-family in tenancy
La fonction est maintenant appelée en fonction du planning de ressources que vous avez défini.
Pour programmer une fonction à l'aide des pages de la console du planificateur de ressources afin de créer une planification dans le planificateur de ressources :
- Connectez-vous à la console en tant que développeur de fonctions.
- Ouvrez le menu de navigation et sélectionnez Gouvernance et administration. Sous Planificateur de ressources, sélectionnez Programmations.
- Sélectionnez la région que vous utilisez avec OCI Functions.
Nous vous recommandons d'utiliser la même région que le 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 commande de projet Fn pour la connexion à Oracle Cloud Infrastructure.
- Sur la page Programmations de la console du planificateur de ressources, sélectionnez Créer une programmation pour créer une programmation de ressources.
- Sur la page Informations de base, indiquez les valeurs suivantes pour la programmation de ressource :
- Nom du programme : nom de votre choix pour le programme de ressource. Evitez de saisir des informations confidentielles.
- Description de la planification : (facultatif) description claire de la planification de la ressource.
- Action à exécuter : sélectionnez Démarrer.
- Compartiment : compartiment dans lequel créer la programmation de ressource.
- Afficher les options avancées : sélectionnez cette option pour appliquer des balises à la ressource. Si vous disposez des droits d'accès nécessaires pour créer une ressource, vous disposez également de droits d'accès permettant d'appliquer des balises à format libre à cette ressource. Pour appliquer une balise defined, vous devez disposer des droits d'accès permettant d'utiliser l'espace de noms de balise. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas certain d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
- Sélectionnez Suivant.
- Sur la page Ressources, sélectionnez la fonction à programmer comme suit :
- Dans les options Méthode de sélection des ressources, sélectionnez l'option Statique - Appliquer la programmation à des ressources spécifiques.
- Dans la zone Rechercher et filtrer, utilisez le filtre par défaut (Compartiment tout) pour rechercher des ressources dans tous les compartiments, ou sélectionnez Compartiment pour sélectionner un compartiment spécifique dans lequel rechercher des ressources.
- Dans la zone Rechercher et filtrer, sélectionnez Type de ressource.
- Sélectionnez FunctionsFunction dans la liste des types de ressource (désélectionnez tout autre type de ressource sélectionné), puis sélectionnez Appliquer.
Les fonctions du compartiment sélectionné sont affichées.
- Sélectionnez la fonction à planifier.
- Sélectionnez Suivant.
- Sur la page Programmation, indiquez le moment et la fréquence d'exécution de la fonction, ainsi que le moment auquel la programmation de ressource doit commencer et se terminer.
Pour plus d'informations sur la configuration d'un planning de ressource, reportez-vous à Ajout d'informations de planning.
- Sélectionnez Suivant.
- Sur la page Vérifier, confirmez les informations que vous avez saisies et sélectionnez Créer une programmation pour programmer la fonction.
La nouvelle programmation de ressources est affichée sur la page Programmations de la console du planificateur de ressources.
Après avoir créé la programmation de ressources et ajouté une fonction à celle-ci, vous devez créer à la fois un groupe dynamique avec une règle qui inclut l'OCID de la programmation de ressources et une instruction de stratégie qui accorde au groupe dynamique l'accès à la fonction :
- Sélectionnez la programmation de ressource pour afficher ses détails, puis copiez l'OCID de la programmation. Par exemple,
ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq
. - Créez un groupe dynamique en suivant les instructions de Procédure pour créer un groupe dynamique, attribuez un nom au groupe dynamique (par exemple,
resource-scheduler-prod-dynamic-group
) et indiquez une règle pour ce groupe dynamique comme suit :ALL {resource.type='resourceschedule', resource.id='<resource-schedule-OCID>'}
où
<resource-schedule-OCID>
est l'OCID de la programmation de ressource que vous avez copiée précédemment. Par exemple :ALL {resource.type='resourceschedule', resource.id='ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq'}
- Créez une stratégie pour accorder au nouveau groupe dynamique l'accès aux fonctions dans OCI Functions en suivant les instructions de la section Procédure de création d'une stratégie, donnez un nom à la stratégie (par exemple,
resource-scheduler-prod-dyn-grp-policy
) et indiquez une instruction de stratégie similaire à la suivante :Allow dynamic-group <dynamic-group-name> to manage functions-family in tenancy
où
<dynamic-group-name>
est le nom du groupe dynamique créé à l'étape précédente. Par exemple :Allow dynamic-group resource-scheduler-prod-dynamic-group to manage functions-family in tenancy
La fonction est maintenant appelée en fonction du planning de ressources que vous avez défini.
Utilisez la commande resource-scheduler schedule create du planificateur de ressources et les paramètres requis pour planifier une fonction.
Pour plus d'informations, reportez-vous à Création de programmations.
Afin d'obtenir la liste complète des indicateurs et des options de variable pour les commandes d'interface de ligne de commande OCI, reportez-vous à Référence de ligne de commande.
Utilisez l'API CreateSchedule du planificateur de ressources pour programmer une fonction.