다음을 통해 공유


자습서: Insights에 Python 연결

이 가이드는 Insights와 함께 Python 사용을 시작하는 데 도움이 됩니다. 여기서는 Azure Kusto Python SDK를 사용합니다. 연결한 후 Python을 사용하여 게임 데이터를 쿼리하고 Jupyter Notebooks의 라이브러리를 사용할 수 있습니다. Insights와 연결할 수 있는 다른 도구에 대한 자세한 내용은 Connecting external tools to Insights(Insights에 외부 도구 연결)를 참조하세요.

참고 항목

2023년 12월 11일부터 PlayFab Insights 관리는 더 이상 사용되지 않습니다. 앞으로는 ADX(Azure Data Explorer) 연결을 사용하여 성능과 비용을 관리하는 것이 좋습니다. 타이틀이 여전히 Insights를 사용하는 경우 이 문서를 계속 읽어 구현 세부 정보를 확인하세요. 자세한 내용은 인사이트 사용 중단 블로그를 참조하세요.

필수 조건

Azure AD에서 인증된 PlayFab 계정

Microsoft가 인증 공급자로 설정된 PlayFab 계정 또는 사용자가 필요합니다. Microsoft 인증 공급자는 Azure 서비스를 이용하는 데 필요한 인증에 Azure AD(Azure Active Directory)를 사용합니다. Azure AD 인증 계정 또는 사용자 만들기에 대한 지침은 게임 관리자에 대한 Azure Active Directory 인증에서 참고하세요.

계정 또는 사용자가 Microsoft 인증 공급자를 사용하도록 설정되어 있는지 확인하려면 다음과 같이 하세요.

  • PlayFab 로그인 페이지를 방문합니다.
  • Microsoft에 로그인을 선택하여 PlayFab 계정에 액세스합니다.

로그인할 수 있으면 계정이 Microsoft 인증 공급자를 사용하도록 설정됩니다.

Insights에 대한 게임 관리자 권한

다음 게임 관리자 권한을 사용하도록 설정된 계정에 사용자 역할을 할당해야 합니다.

  • 관리자 상태입니다.
  • 탐색기 탭 및 관련 데이터에 액세스합니다.
  • 분석 데이터에 대한 읽기 및 쓰기 액세스 권한입니다.

새 사용자 역할을 만들거나 기존 역할에 이러한 권한을 추가할 수 있습니다.

기타 필수 구성 요소

Python 패키지 설치

  1. pip를 사용하여 다음 python 패키지를 설치합니다.

    • azure-kusto-data
    • azure-kusto-ingest
    • adal
  2. 다음은 시작하는 데 사용할 예제 스크립트입니다.

from azure.kusto.data.exceptions import KustoServiceError
from azure.kusto.data.request import KustoClient, KustoConnectionStringBuilder, ClientRequestProperties

from msal import ConfidentialClientApplication

cluster = "https://insights.playfab.com"

# These parameters are taken from your Azure app
client_id = "<Azure app client id>"
client_secret = "<Azure app client secret>" 
tenant = "<Azure app tenant id>"

authority_url = "https://login.microsoftonline.com/" + tenant

client_instance = ConfidentialClientApplication(
  client_id=client_id,
  client_credential=client_secret,
  authority=authority_url,
)

# Acquire a token from AAD to pass to PlayFab
_scopes = ["https://help.kusto.windows.net"]
token_response = client_instance.acquire_token_for_client(scopes=_scopes)

token = None
if token_response:
    if token_response['access_token']:
        token = token_response['access_token']

kcsb = KustoConnectionStringBuilder.with_aad_application_token_authentication(cluster, token)
client = KustoClient(kcsb)

db = "<title id>"
query = "['events.all'] | count"

# Force Kusto to use the v1 query endpoint
client._query_endpoint = cluster + "/v1/rest/query"

crp = ClientRequestProperties()
crp.application = "KustoPythonSDK"
response = client.execute(db, query)

# Response processing
print(response)

추가 리소스