Skip to main content

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

  1. 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.
  1. 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.
  2. 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.
Para obtener más información sobre la implementación de funciones de Azure, consulte Implementación de Azure Functions con Visual Studio Code.

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.
Después de pegar este código en un archivo de Visual Studio Code con la extensión .http, debería poder seleccionar Send request bajo la función LoginWithCustomID para obtener el token de entidad de un jugador y, a continuación, bajo LoginWithCustomID para invocar su función. Invocar GetObjects debería mostrar el objeto que su función de Azure adjuntó al jugador.

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.
  1. 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
  2. Debe incluir el archivo CS2AFHelperClasses.cs, que contiene la implementación de PlayFab.Samples
  3. 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.
Puede usar el ejemplo HelloWorld como su primera función de Azure. Invoca una API de entidad y devuelve un saludo al jugador autenticado. Las API de servidor clásicas se pueden invocar de forma similar; sin embargo, sería necesario especificar la clave secreta del título para realizar la llamada. La clave secreta se puede almacenar en la configuración de la aplicación y recuperarse con el método Environment.GetEnvironmentVariable().
En el ejemplo, el 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
En la lista desplegable hay disponible una lista de las funciones de Azure que ha registrado.

Depuración de su función de Azure

Con las funciones de Azure, ahora tiene la opción de depurar su CloudScript localmente o en Azure Portal. Para obtener más información sobre la depuración en el portal, consulte Depuración de CloudScript con Azure Functions en Azure Portal. Para aprender a configurar la depuración local, consulte Depuración local de CloudScript con Azure Functions.

Límites de ejecución

Las llamadas de CloudScript a Azure Functions tienen límites de tiempo de espera. Si su webhook tarda demasiado en ejecutarse, la solicitud agota el tiempo de espera en PlayFab. Asegúrese de que su código pueda ejecutarse lo suficientemente rápido como para mantenerse por debajo de los límites de tiempo de espera.
Última modificación el 28 de agosto de 2026