> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Depuración local de CloudScript con Azure Functions

> Ejecute y depure CloudScript de PlayFab localmente con Azure Functions agregando una implementación de ExecuteFunction y redirigiendo las llamadas del SDK desde Unity, Unreal o C#.

# Tutorial: Depuración local de CloudScript con Azure Functions

Con Azure Functions, ahora puede probar y depurar su código de CloudScript localmente. Después de completar este tutorial, podrá ejecutar su aplicación local de Azure Functions con el depurador (por ejemplo, en VS Code o Visual Studio), establecer sus puntos de interrupción y ejecutar su cliente de juego.

En este tutorial aprenderá a:

<Note>
  \[!div class="checklist"] \* Agregar una implementación de ExecuteFunction a su aplicación local de Azure Functions \* Agregar un archivo de configuración para indicar al SDK de PlayFab que llame a esa implementación local desde su juego
</Note>

## Requisitos previos

* Actualmente, la depuración local es compatible con los siguientes SDK:
  * [SDK de C# de PlayFab](https://github.com/PlayFab/CSharpSDK)
  * [SDK de Unity de PlayFab](https://github.com/PlayFab/UnitySDK)
  * [Complemento de Unreal 4 Marketplace para PlayFab](https://github.com/PlayFab/UnrealMarketplacePlugin)

## Agregar una implementación local de ExecuteFunction

### Para aplicaciones de Azure Functions en C\#

Para configurar la implementación local de ExecuteFunction en su aplicación de Azure Functions en C#, agregue el archivo [ExecuteFunction.cs](https://github.com/PlayFab/pf-af-devfuncs/blob/master/csharp/ExecuteFunction.cs) a su aplicación local de Azure Functions.

### Variables de entorno necesarias para la implementación local de ExecuteFunction

Agregue las siguientes opciones de configuración a su archivo `local.settings.json`:

| Nombre                    | Valor                                                                                                                                                                                                       |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| PLAYFAB\_TITLE\_ID        | El id. de su título, en formato hexadecimal                                                                                                                                                                 |
| PLAYFAB\_DEV\_SECRET\_KEY | Clave secreta de su título. Puede encontrar sus claves secretas en Game Manager haciendo clic en el icono de engranaje a la derecha del nombre de su título y yendo a **Title Settings** > **Secret Keys**. |

Por ejemplo:

```JSON theme={null}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "...",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "PLAYFAB_TITLE_ID": "B55D",
    "PLAYFAB_DEV_SECRET_KEY": "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMM"
  }
}
```

## Configurar el SDK de PlayFab para llamar a la implementación local de ExecuteFunction

Para indicar al SDK de PlayFab que redirija las llamadas a la API ExecuteFunction a su implementación local, agregue un archivo llamado `playfab.local.settings.json` en uno de estos dos lugares:

* El directorio temporal de su equipo
  * En Windows, es la variable de entorno **TEMP**
  * En Linux/Mac, es la variable de entorno **TMPDIR**
* El directorio del ejecutable de su juego

Establezca el contenido del archivo de la siguiente manera:

```JSON theme={null}
{ "LocalApiServer": "http://localhost:<portNumber>/api/<functionName>" }
```

Cuando quiera detener las redirecciones locales y hacer que ExecuteFunction llame al servidor de API de PlayFab, elimine el archivo `playfab.local.settings.json`.

## Recursos adicionales

Azure Functions tiene una excelente guía sobre cómo [probar y depurar sus funciones](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-local) localmente.

Estos son algunos aspectos destacados del documento anterior.

* Asegúrese de que Azure Functions Core Tools esté instalado
* Configure su archivo de configuración local. Para obtener más información, consulte [Desarrollo de Azure Functions con Visual Studio Code](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=nodejs#local-settings-file)
* Establezca un punto de interrupción en su código
* Presione **F5** para iniciar la depuración


## Related topics

- [Guía de inicio rápido de CloudScript de PlayFab con Azure Functions](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart.md)
- [Escribir CloudScript personalizado](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript.md)
- [Depuración de CloudScript con Azure Functions en Azure Portal](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-Azure.md)
- [Depuración de CloudScript con Azure Functions en Visual Studio](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VS.md)
- [Depuración de CloudScript con Azure Functions en Visual Studio Code](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-VSCode.md)
