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

# Depuração local do CloudScript usando Azure Functions

> Execute e depure o CloudScript do PlayFab localmente com Azure Functions adicionando uma implementação de ExecuteFunction e roteando chamadas do SDK a partir do Unity, Unreal ou C#.

# Tutorial: depuração local do CloudScript usando Azure Functions

Com o Azure Functions, agora você pode testar e depurar seu código do CloudScript localmente. Depois de concluir este tutorial, você poderá executar seu aplicativo local do Azure Functions no depurador (por exemplo, no VS Code ou no Visual Studio), definir pontos de interrupção e executar o cliente do jogo.

Neste tutorial, você aprenderá a:

<Note>
  \[!div class="checklist"] \* Adicionar uma implementação de ExecuteFunction ao seu aplicativo local do Azure Functions \* Adicionar um arquivo de configurações para instruir o SDK do PlayFab a chamar essa implementação local a partir do seu jogo
</Note>

## Pré-requisitos

* No momento, a depuração local tem suporte nos seguintes SDKs:
  * [PlayFab C# SDK](https://github.com/PlayFab/CSharpSDK)
  * [PlayFab Unity SDK](https://github.com/PlayFab/UnitySDK)
  * [Unreal 4 Marketplace PlugIn for PlayFab](https://github.com/PlayFab/UnrealMarketplacePlugin)

## Adicionar uma implementação local de ExecuteFunction

### Para aplicativos do Azure Functions em C\#

Para configurar a implementação local de ExecuteFunction no seu aplicativo do Azure Functions em C#, adicione o arquivo [ExecuteFunction.cs](https://github.com/PlayFab/pf-af-devfuncs/blob/master/csharp/ExecuteFunction.cs) ao seu aplicativo local do Azure Functions.

### Variáveis de ambiente obrigatórias para a implementação local de ExecuteFunction

Adicione as seguintes configurações ao seu arquivo `local.settings.json`:

| Nome | Valor |
| - | - |
| PLAYFAB\_TITLE\_ID | A ID do seu título, em formato hexadecimal |
| PLAYFAB\_DEV\_SECRET\_KEY | A chave secreta do seu título. Você pode encontrar suas chaves secretas no Game Manager clicando no ícone de engrenagem à direita do nome do título e acessando **Title Settings** > **Secret Keys**. |

Por exemplo:

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

## Configurar o SDK do PlayFab para chamar a implementação local de ExecuteFunction

Para instruir o SDK do PlayFab a redirecionar as chamadas à API ExecuteFunction para sua implementação local, adicione um arquivo chamado `playfab.local.settings.json` a um destes dois locais:

* O diretório temporário da sua máquina
  * No Windows, é a variável de ambiente **TEMP**
  * No Linux/Mac, é a variável de ambiente **TMPDIR**
* O diretório do executável do seu jogo

Defina o conteúdo do arquivo da seguinte forma:

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

Quando quiser interromper os redirecionamentos locais e fazer com que ExecuteFunction chame o servidor de API do PlayFab, exclua o arquivo `playfab.local.settings.json`.

## Recursos adicionais

O Azure Functions tem um ótimo guia sobre como [testar e depurar suas funções](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-local) localmente.

Estes são alguns destaques do documento acima.

* Verifique se o Azure Functions Core Tools está instalado
* Configure seu arquivo de configurações locais. Para obter mais informações, consulte [Desenvolver o Azure Functions usando o Visual Studio Code](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=nodejs#local-settings-file)
* Defina um ponto de interrupção no código
* Selecione **F5** para iniciar a depuração


## Related topics

- [Guia de início rápido do CloudScript do PlayFab usando Azure Functions](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart.md)
- [Escrever CloudScript personalizado](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript/writing-custom-cloudscript.md)
- [CloudScript do PlayFab usando Azure Functions](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/index.md)
- [Depurar Azure Functions do CloudScript no portal do Azure](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/debugging-with-CloudScript-AF-Azure.md)
- [Modelos de contexto do CloudScript do PlayFab usando Azure Functions](/pt-BR/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/CloudScript-af-context.md)
