Pular para o conteúdo principal

Início rápido: escrever um CloudScript do PlayFab usando Azure Functions

Neste início rápido, você escreverá um CloudScript usando Azure Functions com o Visual Studio Code, Azure Functions em C# e Unity em C#. Depois de concluir este guia, você poderá vincular seu novo CloudScript a regras e tarefas agendadas ou até chamá-lo a partir do código do cliente.

Pré-requisitos

Há algumas etapas necessárias para começar a usar o CloudScript do PlayFab em C#.
  • Visite o Início rápido: criar um projeto do Azure Functions usando o Visual Studio Code e volte aqui quando tiver configurado tudo. Os seguintes pré-requisitos são abordados no guia de início rápido:
    • Uma conta do Azure. A inscrição em uma conta do Azure é gratuita
    • Uma assinatura do Azure
    • Um recurso de aplicativo de funções configurado no portal do Azure
      • Para minimizar a latência do seu CloudScript usando Azure Functions, coloque-as nas regiões do Azure US-West, US-West 2 ou US-West 3.
      • Observação de segurança: do ponto de vista de segurança, você deve usar um determinado segredo de função somente com o PlayFab e não usá-lo para chamar a mesma função a partir de nenhuma outra origem.
      • Observação de segurança: para funções em fila, você deve configurar uma conta de armazenamento distinta para as filas usadas pelo gatilho de fila.
  • Uma conta do PlayFab.
As Azure Functions do PlayFab podem usar o runtime do Azure Functions V2 ou posterior e o .NET Core 2 ou posterior. Recomendamos usar a versão mais recente (atualmente, Azure Functions V4 e .NET 6).

Criar uma Azure Function

  1. Crie uma função de exemplo básica “HelloWorld”. Você pode ver como fazer isso seguindo o guia Criar sua primeira função usando o Visual Studio Code. Para obter um exemplo de código que usa variáveis do PlayFab, consulte a seção Contexto de função, variáveis e uso dos Server SDKs do PlayFab.
O guia “Criar sua primeira função usando o Visual Studio Code” instrui você a definir o nível de autorização da sua Azure Function como Anonymous. Isso é feito para simplificar os testes. Em um ambiente de produção, na maioria dos casos, você não deve usar a autorização anônima, pois ela permite que qualquer pessoa chame o ponto de extremidade da sua função. Para proteger adequadamente sua função no ambiente do PlayFab, recomendamos usar a autorização no nível Function.
  1. Depois de criar e implantar sua função, acesse Automation > Cloud Script e selecione o botão Register Function no canto superior direito da página. Registrar a função do CloudScript
  2. Em Name, insira um nome amigável para a função. Em Function URL, insira a URL do gatilho HTTP da função. A URL pode ser encontrada no menu de contexto do recurso da Azure Function, conforme mostrado na seção “Executar a função no Azure” do Início rápido: criar uma função no Azure usando o Visual Studio Code. Se sua Azure Function usar autorização no nível Function, a URL conterá a chave de autorização.
Para obter mais informações sobre a implantação de Azure Functions, consulte Implantar o Azure Functions usando o Visual Studio Code.

Usar e chamar o CloudScript usando Azure Functions a partir do seu título do PlayFab

O código de exemplo deste guia foi escrito em código C# do Unity e C# da Azure Function. Agora que sua função está registrada, você pode chamá-la usando as APIs do PlayFab.

Chamar sua função usando solicitações HTTP no Visual Studio Code

Usando a extensão REST Client, você pode invocar a função dentro do Visual Studio.
Depois de colar esse código em um arquivo com a extensão .http no Visual Studio Code, você poderá selecionar Send request na função LoginWithCustomID para obter o token de entidade de um jogador e, em seguida, em LoginWithCustomID para invocar sua função. Invocar GetObjects deverá mostrar o objeto que sua Azure Function anexou ao jogador.

Chamar sua função a partir do Unity

Você pode usar este código no Unity para invocar sua função.

Contexto, variáveis e Server SDKs do CloudScript do PlayFab

Uma vantagem de usar o CloudScript com Azure Functions é que o contexto do evento do PlayStream e do perfil do jogador é passado automaticamente para a Azure Function. Na invocação do CloudScript, você recebe o contexto de acordo com o cenário de invocação da função. Por exemplo, o contexto varia dependendo de a função ser disparada por uma ação do PlayStream ou chamada diretamente pelo cliente. Isso inclui informações como o perfil de entidade em nome do qual o CloudScript foi invocado e, possivelmente, os eventos do PlayStream usados para invocar o CloudScript.
  1. Você precisará instalar o SDK do PlayFab por meio do Gerenciador de Pacotes. Para fazer isso, abra o Terminal ou o console CMD no Visual Studio Code e digite: dotnet add package PlayFabAllSDK
  2. Você precisa incluir o arquivo CS2AFHelperClasses.cs, que contém a implementação de PlayFab.Samples
  3. A execução de um script pode ocorrer por vários métodos (APIs, tarefas agendadas, eventos do PlayStream, entrada e saída de segmentos). O contexto da execução é importante para implementar seu CloudScript. Consulte o tutorial Usar modelos de contexto do CloudScript para obter detalhes sobre como usar o contexto do script.
Você pode usar o exemplo HelloWorld como sua primeira Azure Function. Ele invoca uma API de entidade e retorna uma saudação ao jogador autenticado. As APIs de servidor clássicas podem ser invocadas de forma semelhante; no entanto, seria necessário especificar a chave secreta do título para fazer a chamada. A chave secreta pode ser armazenada nas configurações do aplicativo e recuperada usando o método Environment.GetEnvironmentVariable().
No exemplo, o CurrentPlayerId do chamador está disponível, assim como na nossa implementação tradicional do CloudScript. Os parâmetros que você passa no campo FunctionParameters ficam disponíveis em args. Porém, ao contrário do exemplo Hello World do guia Criar sua primeira função usando o Visual Studio Code, os parâmetros são passados no corpo do POST, e não na cadeia de caracteres de consulta. Para chamar a Azure Function HelloWorld a partir de um SDK do PlayFab, use ExecuteFunction.

Azure Functions em regras de automação

As Azure Functions também podem ser chamadas criando regras e tarefas agendadas. Isso funciona da mesma forma que o nosso CloudScript padrão. Para criar uma regra ou tarefa agendada, acesse Automation > Rules ou Automation > Scheduled Tasks.
  • Selecione New Rule
  • Insira um nome para a regra
  • Selecione o tipo de evento que dispara essa regra
  • Adicione uma ação
  • Na lista suspensa de ações, selecione Execute Azure Function
Uma lista das Azure Functions disponíveis que você registrou fica disponível na lista suspensa. Configurar regra para Azure Functions

Depurar sua Azure Function

Com as Azure Functions, agora você tem a opção de depurar seu CloudScript localmente ou no portal do Azure. Para saber mais sobre a depuração no portal, consulte Depurar o CloudScript usando Azure Functions com o portal do Azure. Para saber como configurar a depuração local, consulte Depuração local do CloudScript usando Azure Functions.

Limites de execução

As chamadas do CloudScript para Azure Functions têm limites de tempo limite. Se o seu webhook demorar muito para ser executado, a solicitação atingirá o tempo limite no PlayFab. Verifique se o seu código consegue ser executado com rapidez suficiente para permanecer abaixo dos limites de tempo limite.
Última modificação em 8 de outubro de 2026