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
- 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.-
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.

-
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.
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.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.- 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 - Vous devez inclure le fichier CS2AFHelperClasses.cs, qui contient l’implémentation de
PlayFab.Samples - 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.
Environment.GetEnvironmentVariable().
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

