Passer au contenu principal

Démarrage rapide : écriture d’un PlayFab CloudScript avec Azure Functions

Dans ce démarrage rapide, vous allez écrire un CloudScript avec Azure Functions à l’aide de Visual Studio Code, d’Azure Functions en C# et d’Unity en C#. À la fin de ce guide, vous pourrez lier votre nouveau CloudScript à des règles ou à des tâches planifiées, ou même l’appeler depuis votre code client.

Prérequis

Quelques étapes sont nécessaires pour commencer à utiliser PlayFab CloudScript en C#.
  • Consultez le démarrage rapide : créer un projet Azure Functions à l’aide de Visual Studio Code de Visual Studio Code et revenez ici une fois la configuration terminée. Les prérequis suivants sont couverts dans ce guide de démarrage rapide :
    • Un compte Azure. L’inscription à un compte Azure est gratuite
    • Un abonnement Azure
    • Une ressource Functions App configurée dans le portail Azure
      • Pour réduire la latence de votre CloudScript avec Azure Functions, placez vos fonctions dans les régions Azure US-West, US-West 2 ou US-West 3.
      • Remarque de sécurité : du point de vue de la sécurité, veillez à n’utiliser un secret de fonction donné qu’avec PlayFab, et non pour appeler la même fonction depuis une autre source.
      • Remarque de sécurité : pour les fonctions en file d’attente, configurez un compte de stockage distinct pour les files d’attente utilisées par le déclencheur de file d’attente.
  • Un compte PlayFab.
Les Azure Functions PlayFab peuvent utiliser le runtime Azure Functions V2 ou ultérieur, ainsi que .NET Core 2 ou ultérieur. Nous vous recommandons d’utiliser la dernière version (actuellement Azure Functions V4 et .NET 6).

Créer une Azure Function

  1. Créez un exemple de fonction « HelloWorld » de base. Pour savoir comment procéder, suivez le guide Créer votre première fonction à l’aide de Visual Studio Code. Pour un exemple de code utilisant des variables PlayFab, consultez la section Contexte de fonction PlayFab, variables et utilisation des SDK serveur.
Le guide « Créer votre première fonction à l’aide de Visual Studio Code » vous demande de définir le niveau d’autorisation de votre Azure Function sur Anonymous. Cela permet de simplifier les tests. Dans un environnement de production, vous ne devriez généralement pas utiliser l’autorisation Anonymous, car elle permet à n’importe qui d’appeler le point de terminaison de votre fonction. Pour sécuriser correctement votre fonction dans l’environnement PlayFab, nous vous recommandons d’utiliser l’autorisation de niveau Function.
  1. Après avoir créé et déployé votre fonction, accédez à Automation > Cloud Script, puis sélectionnez le bouton Register Function dans le coin supérieur droit de la page. Inscrire une fonction CloudScript
  2. Pour Name, entrez un nom convivial pour votre fonction. Pour Function URL, entrez l’URL du déclencheur HTTP de la fonction. Cette URL se trouve dans le menu contextuel de la ressource Azure Function, comme indiqué dans la section « Run the function in Azure » du démarrage rapide : créer une fonction dans Azure à l’aide de Visual Studio Code. Si votre Azure Function utilise l’autorisation de niveau Function, l’URL contient la clé d’autorisation.
Pour plus d’informations sur le déploiement d’Azure Functions, consultez Déployer Azure Functions à l’aide de Visual Studio Code.

Utilisation et appel de CloudScript avec Azure Functions depuis votre titre PlayFab

L’exemple de code de ce guide est écrit en C# pour Unity et en C# pour Azure Functions. Maintenant que votre fonction est inscrite, vous pouvez l’appeler à l’aide des API PlayFab.

Appel de votre fonction à l’aide de requêtes HTTP depuis Visual Studio Code

À l’aide de l’extension REST Client, vous pouvez appeler la fonction depuis Visual Studio.
Après avoir collé ce code dans un fichier Visual Studio Code doté de l’extension .http, vous devriez pouvoir sélectionner Send request sous la fonction LoginWithCustomID pour obtenir le jeton d’entité d’un joueur, puis sous LoginWithCustomID pour appeler votre fonction. L’appel de GetObjects doit afficher l’objet que votre Azure Function a attaché au joueur.

Appel de votre fonction depuis Unity

Vous pouvez utiliser ce code dans Unity pour appeler votre fonction.

Contexte, variables et SDK serveur de PlayFab CloudScript

L’un des avantages de CloudScript avec Azure Functions est que le contexte de l’événement PlayStream et du profil de joueur est automatiquement transmis à l’Azure Function. Lors de l’appel du CloudScript, vous recevez le contexte correspondant au scénario d’appel de la fonction. Par exemple, le contexte varie selon que la fonction est déclenchée par une action PlayStream ou appelée directement depuis le client. Il comprend des informations telles que le profil d’entité pour le compte duquel le CloudScript a été appelé et, éventuellement, les événements PlayStream utilisés pour appeler le CloudScript.
  1. Vous devez installer le SDK PlayFab via le gestionnaire de packages. Pour ce faire, ouvrez le terminal ou la console CMD dans Visual Studio Code et tapez : dotnet add package PlayFabAllSDK
  2. Vous devez inclure le fichier CS2AFHelperClasses.cs, qui contient l’implémentation de PlayFab.Samples
  3. L’exécution d’un script peut se faire selon plusieurs méthodes (API, tâches planifiées, événement PlayStream, entrée dans un segment et sortie d’un segment). Le contexte d’exécution est important pour implémenter votre CloudScript. Consultez le tutoriel Utilisation des modèles de contexte CloudScript pour savoir comment utiliser le contexte du script.
Vous pouvez utiliser l’exemple HelloWorld comme première Azure Function. Il appelle une API d’entité et renvoie un message d’accueil au joueur authentifié. Les API serveur classiques peuvent être appelées de manière similaire ; il faut toutefois spécifier la clé secrète du titre pour effectuer l’appel. La clé secrète peut être stockée dans les paramètres de l’application et récupérée à l’aide de la méthode Environment.GetEnvironmentVariable().
Dans l’exemple, le CurrentPlayerId de l’appelant est disponible, comme dans notre implémentation CloudScript traditionnelle. Les paramètres que vous transmettez dans le champ FunctionParameters sont disponibles dans args. Mais, contrairement à l’exemple Hello World du guide Créer votre première fonction à l’aide de Visual Studio Code, les paramètres sont transmis dans le corps de la requête POST plutôt que dans la chaîne de requête. Pour appeler l’Azure Function HelloWorld depuis un SDK PlayFab, utilisez ExecuteFunction.

Azure Functions dans les règles d’automatisation

Les Azure Functions peuvent également être appelées en créant des règles et des tâches planifiées. Le fonctionnement est identique à celui de notre CloudScript standard. Pour créer une règle ou une tâche planifiée, accédez à Automation > Rules ou à Automation > Scheduled Tasks.
  • Sélectionnez New Rule
  • Entrez un nom pour votre règle
  • Sélectionnez le type d’événement qui déclenche cette règle
  • Ajoutez une action
  • Dans la liste déroulante des actions, sélectionnez Execute Azure Function
La liste des Azure Functions que vous avez inscrites est disponible dans la liste déroulante. Configurer une règle pour Azure Functions

Débogage de votre Azure Function

Avec Azure Functions, vous avez désormais la possibilité de déboguer votre CloudScript localement ou dans le portail Azure. Pour en savoir plus sur le débogage dans le portail, consultez Débogage de CloudScript avec Azure Functions dans le portail Azure. Pour savoir comment configurer le débogage local, consultez Débogage local de CloudScript avec Azure Functions.

Limites d’exécution

Les appels CloudScript vers Azure Functions sont soumis à des délais d’expiration. Si l’exécution de votre webhook prend trop de temps, la requête expire dans PlayFab. Assurez-vous que votre code s’exécute suffisamment rapidement pour rester en deçà des délais d’expiration.
Dernière modification le 20 octobre 2026