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

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

Last updated on February 4, 2026

注釈:本資料は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テンプレートファイルを処理し、対応するコードを生成します。

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値があると、生成されたコードで問題が発生する可能性があります: 各OpenAPI 2.0 JSONファイルが、サービスがデプロイされたときの実際のベースパスと一致する一意のbasePath値を持つようにすることをお勧めします。

  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でモジュールを使用する方法の例については、この入門サンプルプロジェクトを参照してください。