開発環境の設定¶
開発環境をどのように設定するかは、開発フェーズに応じて変わります。完全なローカル設定は、作業初期段階で必要になりますが、完全なテストやリリースには、クラウドベースの設定が必要になります。
拡張機能の様々な開発ステージについては、Extensions Life-Cycle Management を参照してください。
In This Section
環境設定¶
Genvid SDK の Twitch 拡張機能を作成するには、主に 3 つのフェーズがあり、開発環境を変更する必要がでてきます。
以下のテーブルで、それぞれの開発環境の違いを説明しています。
Twitch Dev モード | クラスタモード | 説明 |
---|---|---|
ローカルモードでの Twitch Developer Rig と拡張機能 | ローカル Bastion
ローカルクラスタ
|
Twitch アカウントにストリーミングを行い、Twitch Developer Rig をローカルで開発します。
バックエンドに CORS/SSL が必要。
|
ホストされたテストでの Twitch 拡張機能 | ローカル Bastion
リモートクラスタ
|
Twitch アカウントにストリーミングを行い、Twitch でアセットファイルをホストします。
バックエンドに CORS/SSL が必要。
|
リリースされた Twitch 拡張機能 | ローカル Bastion
リモートクラスタ
|
Twitch アカウントにストリーミングを行います。
バックエンドに CORS/SSL が必要。
スケーラビリティが向上。
|
ローカル開発 (ローカル Bastion / ローカルクラスタ)¶
ローカルクラスタの設定方法については、ローカルクラスタの開始 を参照してください。
ローカルクラスタを設定後、以下の設定を行う必要があります。
- CORS を使用する Web バックエンドを構成する。
- Web バックエンドに SSL 証明書を提供する。
Twitch 拡張機能の開発環境の設定には、いくつかの追加ステップが必要です。
Twitch Streaming Service を使用することを指定する。
ストリームを Twitch Ingest Service (Twitch) に送信する。
- アカウントにストリーミングできるように、Twitch Channel ID と Stream Key を指定する。
(これらの設定は Twitch アカウントで行います)
config
フォルダに格納されている stream.hcl
ファイルを使用して、これらの構成情報を設定することができます。以下の表では、変更が必要なすべての変数が表示されています。
環境変数 | 説明 |
---|---|
TWITCH_EXT_CHANNEL | Twitch チャンネル名 (ユーザー名)。 |
TWITCH_EXT_KEY | Twitch アカウントキー (ダッシュボードとチャンネルに記載されています)。 |
TWITCH_SSL | ローカルテスト (Twitch) の場合は true、ホストされたテスト (またはライブ) では true。 |
ENDPOINT | クラウドクラスタを使用する場合、DNS URL (プロトコル http/https を指定しない)。この値は、自動的に生成されます。 |
TWITCH_EXT_SECRET | Twitch 拡張機能アプリケーションのシークレットキーで、サーバー側の JWT デコードに必要。 (Webgateway API) |
ファイルを更新後、クラスタ構成にロードする必要があります。 DirectX サンプル では、directx.py スクリプトで処理します。
py directx.py load
ホストされたテスト (ローカル Bastion / リモートクラスタ)¶
リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。
リモートクラスタを設定後、以下の設定を行う必要があります。
- CORS を使用する Web バックエンドを構成する。
- Web バックエンドに SSL 証明書を提供する。
拡張機能のリリース (プロダクション) (ローカル Bastion / リモートクラスタ)¶
リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。
リモートクラスタを設定後、以下の設定を行う必要があります。
- CORS を使用する Web バックエンドを構成する。
- Web バックエンドに SSL 証明書を提供する。
Twitch 拡張機能のリリースバージョンは、スケーラビリティのためにビルドする必要があります。つまり:
- 拡張機能から Twitch API への API 呼び出しは効率的です。
- Web バックエンドへの API 呼び出しは効率的です。
- インフラストラクチャはスケーラブルです。