Inicio rápido: Escritura de un CloudScript de PlayFab con Azure Functions
En este inicio rápido, escribirá un CloudScript con Azure Functions usando Visual Studio Code, C# de Azure Functions y C# de Unity. Después de terminar esta guía, podrá vincular su nuevo CloudScript a reglas o tareas programadas, o incluso llamarlo desde el código de su cliente.Requisitos previos
Hay un par de pasos necesarios para empezar a trabajar con CloudScript de PlayFab en C#.- Visite el artículo de Visual Studio Code Inicio rápido: Creación de un proyecto de Azure Functions con Visual Studio Code y vuelva aquí cuando esté todo configurado. Los siguientes requisitos previos se tratan en esa guía de inicio rápido:
- Una cuenta de Azure. Registrarse para obtener una cuenta de Azure es gratuito
- Una suscripción de Azure
- Un recurso de aplicación de Functions configurado en Azure Portal
- Para minimizar la latencia de su CloudScript con Azure Functions, colóquelo en las regiones de Azure US-West, US-West 2 o US-West 3.
- Nota de seguridad: Desde una perspectiva de seguridad, debe asegurarse de usar un secreto de función determinado solo con PlayFab y no usarlo para llamar a la misma función desde ninguna otra fuente.
- Nota de seguridad: Para las funciones en cola, debe configurar una cuenta de almacenamiento distinta para las colas usadas por el desencadenador de cola.
- Una cuenta de PlayFab.
Las funciones de Azure de PlayFab pueden usar el entorno de ejecución de Azure Functions V2 o posterior, y .NET Core 2 o posterior. Le recomendamos usar la versión más reciente (actualmente Azure Functions V4 y .NET 6).
Crear una función de Azure
- Cree una función de ejemplo básica “HelloWorld”. Puede ver cómo hacerlo siguiendo la guía Creación de la primera función con Visual Studio Code. Para ver un ejemplo de código que usa variables de PlayFab, consulte la sección Contexto de funciones de PlayFab, variables y uso de los SDK de servidor.
La guía “Creación de la primera función con Visual Studio Code” le indica que establezca el nivel de autorización de su función de Azure en
Anonymous. Esto se hace para simplificar las pruebas. En un entorno de producción, en la mayoría de los casos, no debería usar la autorización Anonymous, ya que permite que cualquiera llame al punto de conexión de su función. Para proteger correctamente su función en el entorno de PlayFab, le recomendamos usar la autorización de nivel Function.- Después de crear e implementar su función, vaya a Automation > Cloud Script y seleccione el botón Register Function en la esquina superior derecha de la página.
-
En Name, escriba un nombre descriptivo para su función. En Function URL, escriba la dirección URL del desencadenador HTTP de la función. La dirección URL se puede encontrar en el menú contextual del recurso de función de Azure, como se muestra en la sección “Ejecución de la función en Azure” de Inicio rápido: Creación de una función en Azure con Visual Studio Code. Si su función de Azure usa autorización de nivel
Function, la dirección URL contiene la clave de autorización.
Uso y llamada de CloudScript con Azure Functions desde su título de PlayFab
El código de ejemplo de esta guía está escrito en C# de Unity y código C# de funciones de Azure. Ahora que su función está registrada, puede llamarla usando las API de PlayFab.Llamar a su función mediante solicitudes HTTP desde Visual Studio Code
Con la extensión REST Client, puede invocar la función desde Visual Studio.Llamar a su función desde Unity
Puede usar este código en Unity para invocar su función.Contexto de CloudScript de PlayFab, variables y SDK de servidor
Una ventaja de usar CloudScript con Azure Functions es que el contexto del evento de PlayStream y del perfil del jugador se pasa automáticamente a la función de Azure. Al invocar el CloudScript, recibirá el contexto según el escenario de invocación de la función. Por ejemplo, el contexto varía en función de si se desencadena mediante una acción de PlayStream o se llama directamente desde el cliente. Esto incluye información como el perfil de entidad en cuyo nombre se invocó el CloudScript y, potencialmente, los eventos de PlayStream usados para invocar el CloudScript.- Deberá instalar el SDK de PlayFab mediante el administrador de paquetes. Para ello, abra el terminal o la consola CMD en Visual Studio Code y escriba:
dotnet add package PlayFabAllSDK - Debe incluir el archivo CS2AFHelperClasses.cs, que contiene la implementación de
PlayFab.Samples - La ejecución de un script puede producirse a través de varios métodos (API, tareas programadas, eventos de PlayStream, entrada y salida de segmentos). El contexto de la ejecución es importante para implementar su CloudScript. Consulte el tutorial Uso de los modelos de contexto de CloudScript para obtener detalles sobre cómo usar el contexto del script.
Environment.GetEnvironmentVariable().
CurrentPlayerId del autor de la llamada está disponible tal como ocurre en nuestra implementación tradicional de CloudScript. Los parámetros que pasa en el campo FunctionParameters están disponibles en args. Pero, a diferencia del ejemplo Hello World de la guía Creación de la primera función con Visual Studio Code, los parámetros se pasan en el cuerpo POST en lugar de en la cadena de consulta.
Para llamar a la función de Azure HelloWorld desde un SDK de PlayFab, use ExecuteFunction.
Funciones de Azure en reglas de automatización
También se puede llamar a las funciones de Azure mediante la creación de reglas y tareas programadas. Esto funciona de la misma manera que nuestro CloudScript estándar. Para crear una regla o una tarea programada, vaya a Automation > Rules o Automation > Scheduled Tasks.- Seleccione New Rule
- Escriba un nombre para la regla
- Seleccione el tipo de evento que desencadena esta regla
- Agregue una acción
- En la lista desplegable de acciones, seleccione Execute Azure Function
