Create a Snowflake connector
注釈:本資料はAI技術を用いて翻訳されています。
Introduction
AccelByte Gaming Services (AGS) Admin Portal で Snowflake コネクタを作成・設定することで、データストリーミングワークフローと Amazon Snowflake の間でシームレスな連携を実現できます。
Prerequisites
- AGS Admin Portal へのアクセス権限。
- Snowflake で必要な権限を持つロール、ユーザー、およびデータベースを作成済みであること。作成方法については「Configure Snowflake permission setup」を参照してください。これにより、Snowflake コネクタが Snowflake のデータにアクセスするために必要な権限を確実に持つようになります。
Create a Snowflake connector
-
Admin Portal のサイドバーで、ADD-ONS > AIS > Data Connector に移動します。
注記Public Cloud を利用している場合は、サイドバーで Foundations > Game Analytics > Data Connector に移動してコネクタページにアクセスします。

-
Data Connector ページで、Create Connector ボタンをクリックします。Create Connector ページが表示されます。
-
General Configuration セクションで、必要な情報を入力します。
-
Platform: ドロップダウンから Snowflake を選択します。
-
Connector Name: コネクタの名前を入力します。コネクタが作成された後、入力した名前の末尾にダッシュに続いてランダムな数字が付加される点に注意してください。例えば、「AAAConnect」はコネクタ作成後に「AAAConnect-123456」となります。
-
Snowflake Account ID: Snowflake のアカウント ID を追加します。アカウント ID は、Snowflake アカウント URL の ``http://snowflakecomputing.com` の前にあるプレフィックスです。例えば、Snowflake の URL が
rsa42644.us-east-1.snowflakecomputing.comの場合、アカウント ID はrsa42644.us-east-1です。 -
DB Username: コネクタをデータベースで認証するための、Snowflake のユーザー名を入力します。
-
Database Name: Snowflake データベースの名前を入力します。
-
Schema: Snowflake スキーマの名前を入力します。
-
Table Model: テーブルの作成方法を選択します。次のいずれかを選択します。
- Single: すべてのイベントがイベントタイプに基づいて1つのテーブルに挿入されます。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル(テーブル形式である
schema.table_nameを持つテーブルが1つのみ存在します):public.game_telemetry_dev
- トピックの例:
- Mapping: イベントはトピックに基づいて複数のテーブルに挿入されます。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
analytics_game_telemetry_dev_lightfantastic_gamestartedanalytics_game_telemetry_dev_lightfantastic_gameended
- トピックの例:
- Single: すべてのイベントがイベントタイプに基づいて1つのテーブルに挿入されます。
-
Table Name Format: テーブル名の作成方法を選択します(Table Model が Mapping の場合のみ機能します)。次のいずれかを選択します。
- Topic: トピック名がテーブル名になります。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
analytics_game_telemetry_dev_lightfantastic_gameStartedanalytics_game_telemetry_dev_lightfantastic_gameEnded
- トピックの例:
- Event: イベント名がテーブル名になります。
- トピックの例:
analytics_game_telemetry.dev.lightfantastic.gameStartedanalytics_game_telemetry.dev.lightfantastic.gameEnded
- 想定されるテーブル:
gameStartedgameEnded
- トピックの例:
- Topic: トピック名がテーブル名になります。
-
Flatten Column: カラムの作成方法を選択します(Table Model が Mapping の場合のみ機能します)。次のいずれかを選択します。
-
False(パフォーマンス向上のために推奨): すべてのイベントが1つのカラムに挿入されます。
-
イベントの例:
{
"EventNamespace": "lightfantastic",
"EventTimestamp": "2023-07-20T03:30:00.036483Z",
"EventId": "d110582c54804a29ab1d95650ca4c644",
"Payload": {
"winning": true,
"hero": "Captain America",
"kill": 9,
"network": 912.27,
"item": [
{
"name": "vibranium shield",
"defense": 10,
"attack": 1
},
{
"name": "mjolnir hammer",
"defense": 1,
"attack": 9
}
]
},
"EventName": "gameEnded"
} -
想定されるカラム:
event {"EventNamespace":"accelbyte","EventTimestamp":"2023-07-20T03:30:00.036483Z","EventId":"d110582c54804a29ab1d95650ca4c644","Payload":{"winning":true,"hero":"Captain America","kill":9,"network":912.27,"item":[{"name":"vibranium shield","defense":10,"attack":1},{"name":"mjolnir hammer","defense":1,"attack":9}]},"EventName":"gameEnded"}
-
-
True: すべてのイベントがイベントのプロパティに基づいて複数のカラムに挿入されます。
-
イベントの例:
{
"EventNamespace": "lightfantastic",
"EventTimestamp": "2023-07-20T03:30:00.036483Z",
"EventId": "d110582c54804a29ab1d95650ca4c644",
"Payload": {
"winning": true,
"hero": "Captain America",
"kill": 9,
"network": 912.27,
"item": [
{
"name": "vibranium shield",
"defense": 10,
"attack": 1
},
{
"name": "mjolnir hammer",
"defense": 1,
"attack": 9
}
]
},
"EventName": "gameEnded"
} -
想定されるカラム:
eventid eventnamespace eventtimestamp eventname payload d110582c54804a29ab1d95650ca4c644 accelbyte 2023-07-20T03:30:00.036483Z gameEnded {"winning":true,"hero":"Captain America","kill":9,"network":912.27,"item":[{"name":"vibranium shield","defense":10,"attack":1},{"name":"mjolnir hammer","defense":1,"attack":9}]
-
-
-
Flush Interval: データが定期的に Snowflake に書き込まれる最大の時間間隔をミリ秒単位で設定します。Flush Interval の範囲は1分から5分の間です。
-
Flush Size: Snowflake に書き込まれるイベントの最大数を設定します。Flush Size の範囲は100から1000の間です。
-
Flush Memory: Snowflake に書き込まれる前にデータを保存するために使用される最大メモリサイズをキロバイト単位で設定します。Flush Memory の範囲は100 KBから1000 KBの間です。
注記データは、Flush Interval、Flush Size、Flush Memory のいずれかの条件が最初に達成された時点で送信されます。
-
-
Next をクリックして Data Filtering セクションに移動します。
-
Data Filtering セクションで、必要な情報を入力します。
- Event: どのイベントタイプをソースとするかを選択します。
- Game Telemetry: ゲームクライアントから送信されるカスタムテレメトリイベント(Custom Telemetry)。
- AccelByte Event: AccelByte のサービスによって生成されるシステム生成イベント(Service Telemetry)。
- Filter: Add Filter ボタンをクリックします。Add Filter のポップアップフォームが表示されます。ソースサービスからストリーミングしたい特定のネームスペースを追加できます。また、すべてのネームスペースを選択することもできます。これにより、関連するデータのみが確実に転送されるようになります。Add をクリックしてフィルタを作成し、保存します。
- Event: どのイベントタイプをソースとするかを選択します。
-
Next をクリックして Connector Activation セクションに移動します。このセクションでは、Snowflake で公開鍵を設定するために使用できる公開鍵を含むクエリが表示されます。

-
コマンドをコピーします。次に、Snowflake でそのコマンドを実行して RSA_PUBLIC_KEY を設定します。鍵を再生成するオプションもあります。
important- このセクションで Activate をクリックする前に、必ずポリシーを実装してください。実装しないと、コネクタの有効化に失敗します。
- まだコネクタを有効化したくない場合は、ドラフトとして保存するオプションがあります。Snowflake アカウントで公開鍵を設定せずに Activate をクリックすると、接続に失敗したというエラーメッセージが表示されます。Do It Later をクリックして、コネクタをドラフトとして保存してください。後で有効化できます。
-
Snowflake でコマンドの実行に成功したら、AGS Admin Portal に戻り、Activate をクリックします。Admin Portal はコネクタと Snowflake の間の接続を確立します。その後、コネクタの詳細ページが表示され、コネクタのステータスが「ACTIVE」に設定されます。

List Topic Subscription
Snowflake コネクタは、より細かいデータストリーミング制御のために、特定のトピックのリストへのサブスクリプションをサポートしています。 この機能により、どのトピックを Snowflake インスタンスにストリーミングするかを正確に定義できるため、リソース管理とコスト最適化が向上します。
この機能はプライベートクラウドのお客様のみが利用できます。 また、環境変数の設定が必要であり、AccelByte サポートに連絡することでのみ有効化できます。
リクエスト方法:
- サポートチャネルを通じて AccelByte サポートに連絡します
- サブスクライブしたい特定のトピックのリストを提供します
AccelByte サポートによる設定が完了すると、コネクタは指定されたトピックからのみデータをストリーミングするようになり、データパイプラインと関連コストをより細かく制御できるようになります。