Create a Snowflake connector
注釈:本資料はAI技術を用いて翻訳されています。
はじめに
AccelByte Gaming Services(AGS)Admin Portalで Snowflake コネクタを作成および設定して、データストリーミングワークフローと Amazon Snowflake 間のシームレスな統合を確保できます。
前提条件
- AGS Admin Portal へのアクセス権限。
- Snowflake でロール、必要な権限を持つユーザー、およびデータベースを作成済みであること。設定方法については、Configure Snowflake permission setup を参照してください。これにより、Snowflake コネクタが Snowflake データにアクセスするために必要な権限を持つことが保証されます。
Snowflake コネクタを作成する
-
Admin Portal のサイドバーで、ADD-ONS > AIS > Data Connector に移動します。
注記Shared Cloud を使用している場合は、サイドバーの 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: テーブル名の作成方法を選択します(テーブルモデルマッピングでのみ機能します)。次のいずれかを選択します:
- 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: カラムの作成方法を選択します(テーブルモデルマッピングでのみ機能します)。次のいずれかを選択します:
-
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"
} -
Expected column:
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 に書き込まれる最大時間間隔をミリ秒単位で設定します。フラッシュ間隔の範囲は1分から5分です。
-
Flush Size: Snowflake に書き込まれるイベントの最大数を設定します。フラッシュサイズの範囲は100から1000です。
-
Flush Memory: Snowflake に書き込まれる前にデータを保存するために使用される最大メモリサイズをキロバイト単位で設定します。フラッシュメモリの範囲は100から1000 KB です。
注記データは、フラッシュ間隔、フラッシュサイズ、またはフラッシュメモリのいずれかの条件が最初に達したときに送信されます。
-
-
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 サポートによって設定されると、コネクタは指定されたトピックからのみデータをストリーミングし、データパイプラインと関連コストをより詳細に制御できるようになります。