Extend Codegen CLIを使用してExtend Service Extension用のGo Extend SDKモジュールを生成する
注釈:本資料はAI技術を用いて翻訳されています。
概要
この記事では、Extend Codegen CLIテンプレートパックを使用して、Go Modular Extend SDK用のカスタムサービスモジュールを生成する方法をステップバイステップで説明します。
カスタムサービスモジュールを使用すると、開発者はGo Modular Extend SDKを活用してカスタムサービスAPIと対話できます。これには、Extend Service Extensionで作成されたサービスや、OpenAPI 2.0仕様を提供するその他のカスタムサービスが含まれます。
Extend Codegen CLIテンプレートパックは、MakefileといくつかのJinjaテンプレートファイルで構成されています。必要なコードを生成するには、単一のmakeコマンドを実行するだけです。このコマンドは、Extend Codegen CLIをトリガーして、カスタムサービスAPIを定義するOpenAPI 2.0 JSONファイルと共にJinjaテンプレートファイルを処理し、対応するコードを生成します。
このガイドに従う際は、Go Extend SDKではなく、Go Modular Extend SDKを使用してください。
前提条件
-
以下のツールがインストールされたWindows 11 WSL2またはLinux Ubuntu 22.04。
a. Bash
bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
...b. Make
- Ubuntuリポジトリからインストールするには、次を実行します:
sudo apt update && sudo apt install make。
make --version
GNU Make 4.3
...c. Docker (Docker Engine v23.0+)
- Ubuntuリポジトリからインストールするには、次を実行します:
sudo apt update && sudo apt install docker.io docker-buildx docker-compose-v2。 - ユーザーを
dockerグループに追加します:sudo usermod -aG docker $USER。 - 変更を有効にするため、ログアウトして再度ログインします。
docker version
...
Server: Docker Desktop
Engine:
Version: 24.0.5
... - Ubuntuリポジトリからインストールするには、次を実行します:
-
Go用のExtend Codegen CLI テンプレートパックzip。
-
カスタムサービス用の有効なOpenAPI 2.0 JSONファイル。
備考カスタムサービスがExtend Service Extensionを使用している場合、アプリがAccelByte Gaming Services (AGS)にデプロイされると、OpenAPI 2.0 JSONファイルが自動的に生成されます。アクセスするには、AGS
Admin Portalを開き、アプリのApp Detailsページに移動し、Open API Documentationをクリックして、Swagger UIページの上部にあるJSONファイルのリンクを見つけます。または、AGSにアプリをデプロイする前にOpenAPI 2.0 JSONファイルを取得する必要がある場合は、こちらを参照してください。
Extend Service Extension用のGo Extend SDKモジュールを生成する
-
カスタムサービス用のOpenAPI 2.0 JSONファイルを
extend-service-extension-module-sdk/specフォルダに配置します。この例では、ファイル名はguild.jsonです。/path/to/my/extend-service-extension-module-sdk/
|__ spec/
|__ guild.jsonimportantExtend Codegen CLIテンプレートパックは、OpenAPI 2.0 JSONファイル名をサービスの識別子として使用します: ファイル名は好みに応じて変更できますが、コード生成時の問題を避けるため、**すべて小文字のアルファベット(a-z)**を使用することをお勧めします。
注意複数のOpenAPI 2.0 JSONファイルを扱う場合、ファイル間で同一の
basePath値があると、生成されたコードで問題が発生する可能性があります: 各OpenAPI 2.0 JSONファイルが、サービスがデプロイされたときの実際のベースパスと一致する一意のbasePath値を持つようにすることをお勧めします。 -
ダウンロードしたExtend Codegen CLIテンプレートパックを解凍し、展開されたフォルダに移動して、
makeコマンドを実行してコードを生成します。unzip accelbyte-go-sdk-template-pack.zipcd accelbyte-go-sdk-template-pack/make all \
CODEGEN_IMAGE_VERSION=<codegen-cli-version> \
SDK_PATH=/path/to/my/extend-service-extension-module-sdk \
SPEC_PATH=/path/to/my/extend-service-extension-module-sdk/spec備考CODEGEN_IMAGE_VERSIONはこちらで確認できます。新しいプロジェクトでは、利用可能な最新バージョンを使用することをお勧めします。PROJECT_PATHとSPEC_PATHは手順1から取得します。
-
Goアプリケーションプロジェクトの
go.modファイルに、extend-service-extension-module-sdkをパッケージモジュールとして追加します。module golang-application
go 1.18
replace (
github.com/AccelByte/accelbyte-go-modular-sdk/guildService-sdk => /path/to/the/extend-service-extension-module-sdk
)
require (
github.com/AccelByte/accelbyte-go-modular-sdk/guildService-sdk v0.0.0-00010101000000-000000000000
github.com/AccelByte/accelbyte-go-modular-sdk/iam-sdk v0.1.0-alpha.1
github.com/AccelByte/accelbyte-go-modular-sdk/services-api v0.1.0-alpha.1
)Go Modular Extend SDKでモジュールを使用する方法の例については、この入門サンプルプロジェクトを参照してください。