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

-
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.
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.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.- 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 - Você precisa incluir o arquivo CS2AFHelperClasses.cs, que contém a implementação de
PlayFab.Samples - 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.
Environment.GetEnvironmentVariable().
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

