開発環境の設定

開発環境をどのように設定するかは、開発フェーズに応じて変わります。完全なローカル設定は、作業初期段階で必要になりますが、完全なテストやリリースには、クラウドベースの設定が必要になります。

拡張機能の様々な開発ステージについては、Extensions Life-Cycle Management を参照してください。

環境設定

Genvid SDK の Twitch 拡張機能を作成するには、主に 3 つのフェーズがあり、開発環境を変更する必要がでてきます。

以下のテーブルで、それぞれの開発環境の違いを説明しています。

Twitch Dev モード クラスタモード 説明
ローカルモードでの Twitch Developer Rig と拡張機能
ローカル Bastion
ローカルクラスタ
Twitch アカウントにストリーミングを行い、Twitch Developer Rig をローカルで開発します。
SSL は不要。
ホストされたテストでの Twitch Extension
ローカル Bastion
リモートクラスタ
Twitch アカウントにストリーミングを行い、Twitch でアセットファイルをホストします。
バックエンドに CORS/SSL が必要。
リリースされた Twitch Extension
ローカル Bastion
リモートクラスタ
Twitch アカウントにストリーミングを行います。
バックエンドに CORS/SSL が必要。
スケーラビリティが向上。

ローカル開発 (ローカル Bastion / ローカルクラスタ)

ローカルクラスタの設定方法については、ローカルクラスタの開始 を参照してください。

ローカルクラスタの設定後、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) の場合は false、ホストされたテスト (またはライブ) では true
ENDPOINT クラウドクラスタを使用する場合、DNS URL (プロトコル http/https を指定しない)。この値は、自動的に生成されます。
TWITCH_EXT_SECRET Twitch 拡張機能アプリケーションのシークレットキーで、サーバー側の JWT デコードに必要。 (コマンド API)

ファイルを更新後、クラスタ構成にロードする必要があります。Tutorial Sample では、tutorial.py スクリプトで処理します。

py tutorial.py load

ホストされたテスト (ローカル Bastion / リモートクラスタ)

リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。

リモートクラスタを設定後、以下の設定を行う必要があります。

  • CORS を使用する Web バックエンドを構成する。
  • Web バックエンドに SSL 証明書を提供する。

拡張機能のリリース (公開) (ローカル Bastion / リモートクラスタ)

リモートクラスタの設定については、Twitch 拡張機能の Terraform サンプル を参照してください。

リモートクラスタを設定後、以下の設定を行う必要があります。

  • CORS を使用する Web バックエンドを構成する。
  • Web バックエンドに SSL 証明書を提供する。

Twitch 拡張機能のリリースバージョンは、スケーラビリティのためにビルドする必要があります。つまり:

  • 拡張機能から Twitch API への API 呼び出しは効率的です。
  • Web バックエンドへの API 呼び出しは効率的です。
  • インフラストラクチャはスケーラブルです。