チュートリアル: Python を Insights に接続する
このガイドは、Insights と Python の併用を開始するのに役立ちます。 Azure Kusto Python SDK を使用します。 接続後、Python を使用してゲーム データのクエリを実行し、Jupyter Notebooks からライブラリを使用できます。 Insights を接続できるその他のツールの詳細については、「外部ツールを Insights に接続する」を参照してください。
注意
PlayFab Insights Management は、2023 年 12 月 11 日に非推奨になりました。 今後のパフォーマンスとコストを管理するには、Azure Data Explorer (ADX) 接続を使用することをお勧めします。 タイトルがまだ Insights を使用している場合は、実装の詳細についてこの記事を引き続き参照してください。 詳細については、「Insights 非推奨に関するブログ」を参照してください。
前提条件
Azure AD で認証された PlayFab アカウント
認証プロバイダーが Microsoft に設定されている PlayFab アカウントまたはユーザーが必要です。 Microsoft 認証プロバイダーは、Azure サービスを使用するために Azure Active Directory (Azure AAD) の認証が必要です。 Azure AD で認証されたアカウントまたはユーザーを作成する手順については、「ゲーム マネージャーの Azure Active Directory 認証」に関するページを参照してください。
アカウントまたはユーザーが Microsoft 認証プロバイダーを使用するように設定されていることを確認するには、次の手順を実行します。
- log in page (ログイン ページ) から PlayFab にアクセスします。
- [Microsoft アカウントでサインイン] を選択して PlayFab アカウントにアクセスします。
サインインできる場合、そのアカウントは Microsoft 認証プロバイダーを使用するように設定されています。
Insights のゲーム マネージャーのアクセス許可
アカウントにユーザー ロールを割り当て、以下のゲーム マネージャーのアクセス許可を有効にする必要があります。
- 管理者の状態。
- [エクスプローラー] タブと関連データへのアクセス。
- 分析データへの読み取りおよび書き込みアクセス。
新しいユーザー ロールを作成するか、既存のロールにこれらのアクセス許可を追加できます。
その他の前提条件
Python パッケージをインストールする
pip を使用して、次の python パッケージインストールします。
- azure-kusto-data
- azure-kusto-ingest
- adal
使用を開始するスクリプトの例を次に示します。
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)
追加情報
- Azure Kusto Python SDK ドキュメント
- Insights に接続する他のツールについては、「外部ツールを Insights に接続する」を参照してください。