Analytics Data Connector
注釈:本資料はAI技術を用いて翻訳されています。
データウェアハウス統合は、AGS Shared Cloudティアでは利用できません。
概要
AccelByte Gaming Services(AGS)Analytics Data Connectorは、サービスゲームテレメトリとカスタムゲームテレメトリのイベントを送信する機能を提供します。Data Connectorは、S3、Redshift、Snowflakeなど、いくつかの異なるソリューションをサポートしています。この記事では、AGS Analytics Data Connectorの詳細を説明します。
Data Connectorの有効化
Data Connectorを有効化し、社内の分析ソリューションにデータを含め始めるには、AccelByteの担当者にお問い合わせください。
AGS Analytics Data Connectorは、柔軟でセルフサービスのソリューションである**AIS Data Connector**と比較して制限があります。Data Connectorの比較については、Data Connector比較を参照してください。
S3
AGS Analytics Data Connectorは、Amazon S3バケットへの直接出力をサポートしています。データは、各イベントのJSON表現を含むテキストファイルに構造化され、社内の分析システムで処理できます。
S3統合要件
AccelByteは、ゲームテレメトリパイプラインをS3と統合できます。そのためには、イベントを書き込むS3バケット名とリージョンを送信していただく必要があります。AccelByteは、AccelByteコネクタを表すIAM(S3ポリシースクリプト)を提供します。このIAMをS3バケットのセキュリティに追加すると、設定が完了します。
S3の主要概念
統合をスムーズに行うために、以下の主要概念を理解する必要があります。
フラッシュ設定
AGS Data Connectorの有効化をリクエストする際に、フラッシュを設定できます。
- Flush Interval: データウェアハウスにデータを定期的にストリーミングする時間間隔(分単位)。
- Flush Size: データウェアハウスにストリーミングされるファイルあたりの最大イベント数。
S3ファイルとパス形式
AGS Data ConnectorのS3ファイルとパス形式はカスタマイズできません。ファイルとパス形式のカスタマイズを含むソリューションについては、AIS Data Connectorを参照してください。
- JSON形式ファイル: AccelByteが送信するファイルは
.json形式です。 - デフォルトS3パス: 以下のS3パス形式になります。
サービステレメトリパス
your-bucket-name/justice-event/realm/dev/topics/yourNamespace.dev.matchmaking/year=2024/month=07/day=03/hour=10/yourNamespace.dev.matchmaking+0+0000000001.json
カスタムテレメトリパス
your-bucket-name/game-telemetry/realm/dev/topics/analytics_game_telemetry.dev.yourNamespace.yourEventName/year=2024/month=07/day=17/hour=07/minute=00/analytics_game_telemetry.dev.yourNamespace.yourEventName+0+0000000001.json
Redshift
AccelByteは、KafkaからイベントデータをプルしてRedshiftにデータを書き込むために、Kafka Connectでコネクタを作成できます。
Redshift統合要件
AccelByteは、ゲームテレメトリパイプラインをRedshiftと統合できます。そのためには、以下の情報を送信していただく必要があります。
- Redshift認証情報
- Redshiftデータベース名
この情報をKafka Connectに入力すると、コネクタが作成され、パイプラインは自動的にゲームテレメトリデータをRedshiftに送信します。
Redshiftの主要概念
データ形式: ネストされたデータは、Kafkaにプッシュされる前にゲームテレメトリパイプラインでフラット化されます。イベントに添付された各ペイロードは、Redshiftの列に変換されます。
Snowflake
設定の複雑さのため、AccelByteはSnowflakeを管理するためのセルフサービスUIを提供しています。以下の手順に従って、AGS Admin PortalでAGSへの接続を設定できます。
Snowflakeの前提条件
SnowflakeをAGSに接続するには、以下の前提条件を完了している必要があります。
- Snowflakeアカウントを作成する。
- ロールを作成する。ACCOUNTADMINロールが付与されている必要があります。
- 新しいデータベースを作成するか、既存のデータベースを使用する。
- 作成したロールに最低限必要なアクセス権を付与する:
- 作成したロールを、このデータベースを担当するユーザーに付与する。
SnowflakeをAGSに接続する
-
AGS Admin Portalのスタジオネームスペースで、Analytics > Analytics & Data Monitoringに移動します。
-
Configure Nowをクリックします。
-
表示されるAdd Snowflake Configurationフォームで、以下の情報をフィールドに入力します。
-
Snowflake Usernameフィールドに、このデータを担当するユーザーのSnowflakeユーザー名を入力します。
-
Snowflake Account IDフィールドに、SnowflakeアカウントIDを入力します。
Snowflake Account IDは、SnowflakeアカウントURLの
snowflakecomputing.comの前のプレフィックスです。たとえば、SnowflakeのURLがrsa42644.us-east-1.snowflakecomputing.comの場合、アカウントIDはrsa42644.us-east-1です。正しいAccount ID形式を使用してください。 -
DB Nameフィールドに、宛先データベースの名前を入力します。
-
Schemaフィールドに、統合に使用するデータベースのスキーマを入力します。
-
Data Pipe Sourceフィールドに、データのソースとして使用するパイプラインを入力します。複数のパイプラインを入力できます。
-
Modelフィールドで、データの保存方法を選択します。モデルオプションは2つあります。
- Single: このモデルは、すべてのAGSシステムイベントのデータを1つのテーブルに保存します。AGS Telemetryを使用する場合、2つのテーブルが作成されます(Telemetryイベント用とAGSシステムイベント用)。
- Mapping: このモデルは、各イベントのトピック名をテーブルにマッピングしてデータを保存します。トピック名ごとに1つのテーブルが作成されます。Snowflakeのステージとパイプもテーブルとして作成されます。
-
-
Nextをクリックします。Connect to SnowflakeフォームとPublic Keyが表示されます。Public Keyをコピーして、Snowflakeワークシートに貼り付けて接続を設定します。
次の手順に進む前に、この手順を完了する必要があります。
- Connectをクリックすると、Snowflake設定の詳細ページにリダイレクトされます。Integration StatusトグルをACTIVEに設定します。Connection StatusがCONNECTEDに変更されます。Connection StatusがまだIN PROGRESSと表示されている場合は、ページを更新して更新できます。
設定が成功すると、Integration StatusフィールドがActiveに変更されます。
設定が失敗した場合、Integration StatusフィールドがDeactivatedに変更され、Connection StatusフィールドにConnectボタンが表示されます。Connectボタンをクリックして再接続を試みるか、Editボタンをクリックして設定を編集するか、Removeをクリックして設定を削除できます。この設定のすべてのSnowflake前提条件を満たしていることを確認してください。
Snowflakeデータのバックフィル
Snowflake認証情報を変更した後、または接続の問題によりデータが消失した後にSnowpipeにデータが欠落している場合、バックフィル機能を使用して過去のスケジュールされたパイプラインを実行し、欠落しているデータを埋めることができます。
バックフィル機能を使用する前に、Snowflake Warehouseを有効化して起動してください。
-
AGS Admin Portalのスタジオネームスペースで、Analytics > Analytics & Data Monitoringに移動します。
-
Backfillをクリックして、Backfillフォームを表示します。
-
バックフィルデータの全範囲から欠落しているデータを取得する場合は、Time RangeオプションでAll Timeを選択します。指定した時間の欠落しているデータを取得する場合は、Time RangeオプションでPartialを選択し、この時間範囲のStart DateとEnd Dateを入力します。
-
完了したら、Submitをクリックします。
バックフィルプロセスはバックグラウンドで実行されます。ページを更新して、最新の設定ステータスを確認してください。Cancel Backfilling Processをクリックして、バックフィルプロセスをキャンセルすることもできます。
バックフィルが正常に完了すると、設定ページに確認が表示されます。
バックフィルが失敗した場合は、接続を確認し、Snowflake設定を作成する際に設定したユーザー名が、SnowflakeのDESCRIBE USER構文を使用してデフォルトウェアハウスに設定されていることを確認してください。デフォルトウェアハウスは、SnowflakeのWarehouse Menuを確認して実行されています。
統合が成功したら、接続のセキュリティを確保するために定期的にRSA Keyを更新する場合は、設定ページのConnection Statusの横にあるGenerate New RSA Keyをクリックして新しいRSA Keyを生成できます。これを行うと、Snowflake統合が切断され、Snowflakeを再接続する必要があります。
Snowflake設定の編集
-
Admin Portalのスタジオネームスペースで、Analytics > Analytics & Data Monitoringに移動します。
-
Edit Configurationをクリックします。
-
設定を編集する前に、まずSnowflakeを切断する必要があります。そのオプションをクリックすると、Disconnect Snowflakeフォームが表示されます。Continueをクリックして切断を確認し、編集フォームに進みます。
-
Edit Snowflake Configurationフォームで、必要に応じて設定を編集します。