OVH Guide

OVH Functions

OVH Functions est une plateforme FaaS (Function as a Service) qui vous permet de vous concentrer uniquement sur le code.

Vous écrivez des fonctions comme vous avez l'habitude de le faire et vous les déployer en une seule commande.

OVH Functions gère le packaging, le déploiement, l'exécution et la scalabilité de vos fonctions pour vous.

Vos fonctions peuvent être exécutées en utilisant un appel HTTP ou déclenchées automatiquement sur des flux d'événements.

Démarrage rapide

Installez la dernière version du CLI

Téléchargez le cli ovh-functions :

Et rendez le exécutable avec la commande :

# Linux/MacOS
chmod u+x ovh-functions

Ajoutez le dossier du CLI à votre PATH :

# Linux/MacOS
export PATH=/path/to/ovh-functions:$PATH
# Windows
SET PATH=%PATH%;c:\path\to\ovh-functions

Ecrivez votre première fonction

Créez un dossier, déplacez-vous à l'intérieur et générez l'exemple en utilisant la commande init :

mkdir -p hello
cd hello
ovh-functions init nodejs

Cet example est écrit en Node.js, mais la plateforme supporte plusieurs langages : Node.js, Python, Go, Perl et Bash. Pour générer un exemple dans un autre langage supporté, vous pouvez le spécifier dans la commande init, en remplaçant nodejs dans la commande précédente par : go, python-2.7, python-3.6, perl ou bash.

Par défaut une fonction Javascript hello est écrite dans le fichier example.js.

exports.hello = function(event, callback) {
  var name = event.data || "World";
  console.log("event", event);
  callback(null, "Hello " + name + " from OVH Functions!")
}

La configuration de la fonction est écrite dans un fichier nommé functions.yml pour décrire :

  • le nom de la fonction : hello
  • le langage : nodejs
  • le handler: example.hello composé de:
  • example: le nom du fichier sans extension qui contient le module nodejs
  • hello: le nom de la fonction exportée
# functions.yml
functions:
  hello:
    runtime: nodejs
    handler: example.hello

Déployez et exécutez votre fonction

Commencez par vous connecter à la plateforme :

ovh-functions login

Pour déployer ou mettre à jour votre fonction sur OVH Functions, exécutez la commande ci-dessous depuis le dossier où vous l'avez créée :

ovh-functions deploy

Vous pouvez ensuite exécuter votre fonction en utilisant l'URL HTTP fournie en réponse de la commande deploy ou en utilisant la commande :

ovh-functions exec hello

Vous pouvez envoyer des données disponibles dans la fonction dans le paramètre event.data en pipant dans stdin :

echo "toto" | ovh-functions exec hello

Quelques commandes utiles

Listez toutes vos fonctions :

ovh-functions list

Obtenez des détails à propos d'une de vos fonctions :

ovh-functions describe hello

Supprimez une de vos fonctions :

ovh-functions delete hello

Affichez les métriques de vos fonctions :

ovh-functions metrics

Streamez ou affichez les logs de base de vos fonctions :

ovh-functions logs -f
ovh-functions logs -f hello
ovh-functions logs
ovh-functions logs hello
ovh-functions logs -n 10
ovh-functions logs hello -n 10

Allez plus loin