Analytics Data Connector
注釈:本資料はAI技術を用いて翻訳されています。
データウェアハウスの統合は、AGS Public 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アカウント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フォームで、必要に応じて設定を編集します。