メインコンテンツまでスキップ

Extend Codegen CLIを使用してExtend Service Extension用のGo Extend SDKモジュールを生成する

Last updated on July 14, 2026

注釈:本資料はAI技術を用いて翻訳されています。

Overview

この記事では、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テンプレートファイルを処理して、対応するコードを生成します。

important

このガイドに従う際は、Go Extend SDKではなく、Go Modular Extend SDKを使用してください。

前提条件

  1. 以下のツールがインストールされた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
    ...
  2. Go用のExtend Codegen CLI テンプレートパックzip

  3. カスタムサービス用の有効な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モジュールを生成する

  1. カスタムサービス用のOpenAPI 2.0 JSONファイルをextend-service-extension-module-sdk/specフォルダに配置します。この例では、ファイル名はguild.jsonです。

    /path/to/my/extend-service-extension-module-sdk/
    |__ spec/
    |__ guild.json
    important

    Extend Codegen CLIテンプレートパックは、OpenAPI 2.0 JSONファイル名をサービスの識別子として使用します。 ファイル名はお好みに応じて変更できますが、コード生成時の問題を避けるため、すべて小文字のアルファベット (a-z) を使用することを推奨します。

    注意

    複数のOpenAPI 2.0 JSONファイルを扱う場合、ファイル間でbasePathの値が同一だと生成されるコードに問題が発生する可能性があります。 サービスがデプロイされた際の実際のベースパスと一致する、一意のbasePath値を各OpenAPI 2.0 JSONファイルに設定することを推奨します。

  2. ダウンロードしたExtend Codegen CLIテンプレートパックを解凍し、展開されたフォルダに移動して、makeコマンドを実行してコードを生成します。

    unzip accelbyte-go-sdk-template-pack.zip
    cd 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_PATHSPEC_PATHは手順1から取得します。
  3. 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でモジュールを使用する方法の例については、このはじめにのサンプルプロジェクトを参照してください。