Skip to main content

빠른 시작: Azure Functions를 사용하는 PlayFab CloudScript 작성

이 빠른 시작에서는 Visual Studio Code, Azure Functions C# 및 Unity C#을 사용하여 Azure Functions로 CloudScript를 작성합니다. 이 가이드를 완료하면, 새 CloudScript를 규칙, 예약된 작업에 연결하거나 클라이언트 코드에서 호출할 수 있게 됩니다.

사전 요구 사항

PlayFab C# CloudScript를 시작하려면 몇 가지 단계가 필요합니다.
  • Visual Studio Code의 빠른 시작: Visual Studio Code를 사용하여 Azure Functions 프로젝트 만들기를 방문하고, 설정이 완료되면 여기로 돌아오세요. 다음 사전 요구 사항은 해당 빠른 시작 가이드에서 다룹니다.
    • Azure 계정. Azure 계정 가입은 무료입니다.
    • Azure 구독
    • Azure 포털에 구성된 Functions App 리소스
      • Azure Functions를 사용하는 CloudScript의 지연 시간을 최소화하려면 US-West, US-West 2 또는 US-West 3 Azure 지역에 배치하세요.
      • 보안 참고: 보안 관점에서, 특정 함수 비밀은 PlayFab에서만 사용하고 다른 소스에서 동일한 함수를 호출하는 데 사용하지 마세요.
      • 보안 참고: 큐 함수의 경우, 큐 트리거에 사용되는 큐에 대해 별도의 스토리지 계정을 설정해야 합니다.
  • PlayFab 계정.
PlayFab Azure Functions는 Azure Functions V2 런타임 이상 및 .NET Core 2 이상을 사용할 수 있습니다. 최신 버전(현재 Azure Functions V4 및 .NET 6)을 사용하는 것을 권장합니다.

Azure Function 만들기

  1. 기본 “HelloWorld” 예제 함수를 만듭니다. Visual Studio Code를 사용하여 첫 번째 함수 만들기 가이드를 따라 이를 수행하는 방법을 볼 수 있습니다. PlayFab 변수를 사용하는 코드 예제는 PlayFab Function Context, Variables, and using the Server SDKs 섹션을 참조하세요.
“Visual Studio Code를 사용하여 첫 번째 함수 만들기” 가이드는 Azure Function의 인증 수준을 Anonymous로 설정하도록 지시합니다. 이는 테스트를 단순화하기 위해 수행됩니다. 프로덕션 환경에서는 대부분의 경우, 익명 인증을 사용해서는 안 됩니다. 누구나 함수 엔드포인트를 호출할 수 있게 되기 때문입니다. PlayFab 환경에서 함수를 적절하게 보호하려면 Function 수준의 인증을 사용하는 것을 권장합니다.
  1. 함수를 만들고 배포한 후, Automation > Cloud Script로 이동하여 페이지 오른쪽 상단 모서리에 있는 Register Function 버튼을 선택합니다. Register CloudScript Function
  2. Name에는 함수를 알아보기 쉬운 이름을 입력합니다. Function URL에는 함수의 HTTP Trigger URL을 입력합니다. URL은 빠른 시작: Visual Studio Code를 사용하여 Azure에서 함수 만들기의 “Run the function in Azure” 섹션에 표시된 Azure 함수 리소스의 컨텍스트 메뉴에서 찾을 수 있습니다. Azure Function이 Function 수준의 인증을 사용하는 경우, URL에는 인증 키가 포함됩니다.
Azure 함수 배포에 대한 자세한 내용은 Visual Studio Code를 사용하여 Azure Functions 배포를 참조하세요.

PlayFab 타이틀에서 Azure Functions를 사용하는 CloudScript 사용 및 호출

이 가이드의 예제 코드는 Unity C# 및 Azure Function C# 코드로 작성되었습니다. 이제 함수가 등록되었으므로, PlayFab API를 사용하여 해당 함수를 호출할 수 있습니다.

Visual Studio Code에서 HTTP 요청으로 함수 호출

REST Client 확장을 사용하여 Visual Studio 내에서 함수를 호출할 수 있습니다.
이 코드를 Visual Studio Code의 .http 확장자 파일에 붙여넣은 후, LoginWithCustomID 함수 아래에서 Send request 를 선택하여 플레이어의 엔티티 토큰을 가져온 다음, LoginWithCustomID 아래에서 함수를 호출할 수 있어야 합니다. GetObjects 를 호출하면 Azure 함수가 플레이어에게 연결한 객체가 표시됩니다.

Unity에서 함수 호출

Unity에서 이 코드를 사용하여 함수를 호출할 수 있습니다.

PlayFab CloudScript Context, Variables, Server SDKs

Azure Functions를 사용하는 CloudScript의 이점 중 하나는 PlayStream 이벤트 및 Player Profile 컨텍스트가 자동으로 Azure Function에 전달된다는 것입니다. CloudScript 호출 시, 함수의 호출 시나리오에 따라 컨텍스트를 받습니다. 예를 들어, 컨텍스트는 PlayStream Action에 의해 트리거되는지 또는 클라이언트에서 직접 호출되는지에 따라 달라집니다. 여기에는 CloudScript가 호출된 대상 엔티티 프로필과 잠재적으로 CloudScript 호출에 사용된 PlayStream 이벤트와 같은 정보가 포함됩니다.
  1. Package Manager를 통해 PlayFab SDK를 설치해야 합니다. 이를 위해 Visual Studio Code에서 터미널이나 CMD 콘솔을 열고 다음을 입력합니다: dotnet add package PlayFabAllSDK
  2. PlayFab.Samples의 구현이 포함된 CS2AFHelperClasses.cs 파일을 포함해야 합니다.
  3. 스크립트의 실행은 여러 방법(API, 예약된 작업, PlayStream 이벤트, 세그먼트 진입 및 종료 메서드)을 통해 발생할 수 있습니다. CloudScript를 구현하려면 실행 컨텍스트가 중요합니다. 스크립트의 컨텍스트 사용 방법에 대한 자세한 내용은 CloudScript context 모델 사용 자습서를 참조하세요.
첫 번째 Azure Function으로 HelloWorld 예제를 사용할 수 있습니다. 이는 엔티티 API를 호출하고 인증된 플레이어에게 인사를 반환합니다. 클래식 서버 API도 유사한 방식으로 호출할 수 있지만, 호출을 위해 타이틀 비밀 키를 지정해야 합니다. 비밀 키는 애플리케이션 설정에 저장하고 Environment.GetEnvironmentVariable() 메서드를 사용하여 검색할 수 있습니다.
예제에서, 호출자의 CurrentPlayerId는 기존 CloudScript 구현에서와 마찬가지로 사용할 수 있습니다. FunctionParameters 필드에 전달하는 매개 변수는 args에서 사용할 수 있습니다. 하지만 Visual Studio Code를 사용하여 첫 번째 함수 만들기 가이드의 Hello World 예제와 달리, 매개 변수는 쿼리 문자열이 아닌 POST 본문에서 전달됩니다. PlayFab SDK에서 HelloWorld Azure Function을 호출하려면 ExecuteFunction을 사용합니다.

Automation Rules의 Azure Functions

Azure Functions는 규칙 및 예약된 작업을 만들어 호출할 수도 있습니다. 이는 표준 CloudScript와 동일한 방식으로 작동합니다. 규칙 또는 예약된 작업을 만들려면 Automation > Rules 또는 Automation > Scheduled Tasks로 이동합니다.
  • New Rule을 선택합니다.
  • 규칙 이름을 입력합니다.
  • 이 규칙이 트리거되는 이벤트 유형을 선택합니다.
  • 액션을 추가합니다.
  • 액션 드롭다운에서 Execute Azure Function을 선택합니다.
등록한 사용 가능한 Azure Functions 목록이 드롭다운 목록에서 사용 가능합니다. Configure Rule for Azure Functions

Azure Function 디버깅

Azure Functions를 사용하면 이제 CloudScript를 로컬에서 또는 Azure 포털에서 디버깅할 수 있는 옵션이 있습니다. 포털 디버깅에 대한 자세한 내용은 Azure 포털을 사용한 Azure Functions 기반 CloudScript 디버깅을 참조하세요. 로컬 디버깅 설정 방법에 대한 자세한 내용은 Azure Functions를 사용하는 CloudScript의 로컬 디버깅을 참조하세요.

실행 제한

Azure Functions에 대한 CloudScript 호출에는 시간 제한이 있습니다. Webhook 실행에 시간이 너무 오래 걸리면, 요청이 PlayFab에서 시간 초과됩니다. 코드가 시간 제한 이내에 실행될 수 있도록 충분히 빨라야 합니다.
마지막 수정일 2026년 8월 13일