Skip to content

デプロイメント管理API

このページでは、デプロイメント一覧の取得、デプロイメントの状態照会、デプロイメントの開始・停止、新規デプロイメントの作成に関するAPIの使い方を説明します。

デプロイメント一覧の取得

URI

GET /deployments

TIP

このメソッドは60分間に60回までのリクエストが可能です。

リクエストメッセージ

なし

レスポンスメッセージ

  • 200:
名前説明
connectionsNumberデプロイメントの接続数。
tpsNumberデプロイメントの1秒あたりのトランザクション数(TPS)。
createAtStringデプロイメントの作成日時。
deploymentIDString一意のデプロイメントID。
deploymentNameStringデプロイメント名。
deploymentTypeStringデプロイメントの種類:"serverless"はサーバレス版、"dedicated"は専用版、"dedicatedFlex"は専用Flex版。
platformStringデプロイメントのクラウドサービスプロバイダー。
projectNameStringデプロイメントに紐づくプロジェクト名。
regionStringデプロイメントが配置されているリージョン。
statusStringデプロイメントの現在の状態:"running"、"starting"、"stopped"のいずれか。
versionStringデプロイメントのバージョン。
  • 401: APIキーの認証に失敗しました。
  • 403: APIキーにリクエストされたリソースへのアクセス権限がありません。
  • 429: リクエスト制限を超えました。

リクエスト例

bash
curl -u key:secret -X GET {api}/deployments

レスポンス例

json
[
    {
        "connections": 1000,
        "tps": 1000,
        "createAt": "2024-11-21 02:51",
        "deploymentID": "mdfba81f",
        "deploymentName": "deployment-mdfba81f",
        "deploymentType": "serverless",
        "platform": "AWS",
        "projectName": "default",
        "region": "N. Virginia (us-east-1)",
        "status": "stopped",
        "version": "v5"
    },
    {
        "connections": 1000,
        "tps": 1000,
        "createAt": "2025-04-17 08:36",
        "deploymentID": "b1f77113",
        "deploymentName": "deployment-b1f77113",
        "deploymentType": "dedicatedFlex",
        "platform": "AWS",
        "projectName": "test",
        "region": "N. Virginia (us-east-1)",
        "status": "running",
        "version": "v5"
    }
]

特定デプロイメントの状態確認

URI

GET /deployments/{deployment_id}

TIP

このメソッドは60分間に60回までのリクエストが可能です。{deployment_id}はデプロイメント名ではなくデプロイメントIDを指します。

リクエストメッセージ

なし

レスポンスメッセージ

  • 200:
名前説明
connectionsNumberデプロイメントの接続数。
tpsNumberデプロイメントの1秒あたりのトランザクション数(TPS)。
createAtStringデプロイメントの作成日時。
deploymentIDString一意のデプロイメントID。
deploymentNameStringデプロイメント名。
deploymentTypeStringデプロイメントの種類。"dedicated"は専用版、"dedicatedFlex"は専用Flex版。
platformStringデプロイメントのクラウドサービスプロバイダー。
regionStringデプロイメントが配置されているリージョン。
statusStringデプロイメントの現在の状態:"running"、"starting"、"stopped"のいずれか。
  • 401: APIキーの認証に失敗しました。
  • 403: APIキーにリクエストされたリソースへのアクセス権限がありません。
  • 404: デプロイメントが見つかりません。
  • 429: リクエスト制限を超えました。

リクエスト例

bash
curl -u key:secret -X GET {api}/deployments/w41b11c0

レスポンス例

json
{
    "connections": 1000,
    "tps": 1000,
    "createAt": "2024-07-22 05:32",
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "deploymentType": "dedicated",
    "platform": "AWS",
    "region": "N. Virginia (us-east-1)",
    "status": "running"
}

デプロイメント停止

URI

POST /deployments/{deployment_id}/stop

TIP

このメソッドは60分間に5回までのリクエストが可能です。{deployment_id}はデプロイメント名ではなくデプロイメントIDを指します。この操作は専用デプロイメントのみ利用可能です。

リクエストメッセージ

なし

レスポンスメッセージ

  • 201:
名前説明
deploymentIDString一意のデプロイメントID。
deploymentNameStringデプロイメント名。
operationString操作の種類:"stopping"は停止操作を示します。
  • 401: APIキーの認証に失敗しました。
  • 403: APIキーにリクエストされたリソースへのアクセス権限がありません。
  • 404: デプロイメントが見つかりません。
  • 422: リクエストパラメータが不正です。
  • 429: リクエスト制限を超えました。

リクエスト例

bash
curl -u key:secret -X POST {api}/deployments/w41b11c0/stop

レスポンス例

json
{
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "operation": "stopping"
}

デプロイメント開始

URI

POST /deployments/{deployment_id}/start

TIP

このメソッドは60分間に5回までのリクエストが可能です。{deployment_id}はデプロイメント名ではなくデプロイメントIDを指します。この操作は専用デプロイメントのみ利用可能です。

リクエストメッセージ

なし

レスポンスメッセージ

  • 201:
名前説明
deploymentIDString一意のデプロイメントID。
deploymentNameStringデプロイメント名。
operationString操作の種類:"starting"は開始操作を示します。
  • 401: APIキーの認証に失敗しました。
  • 403: APIキーにリクエストされたリソースへのアクセス権限がありません。
  • 404: デプロイメントが見つかりません。
  • 422: リクエストパラメータが不正です。
  • 429: リクエスト制限を超えました。

リクエスト例

bash
curl -u key:secret -X POST {api}/deployments/w41b11c0/start

レスポンス例

json
{
    "deploymentID": "w41b11c0",
    "deploymentName": "deployment-w41b11c0",
    "operation": "starting"
}

デプロイメント作成

URI

POST /deployments

TIP

このメソッドは60分間に1回までのリクエストが可能です。デプロイメントはデフォルトプロジェクトに作成されます。現在、EMQXのv5バージョンのみサポートされています。

リクエストメッセージ

名前必須説明
platformStringはいデプロイメントをホストするクラウドプラットフォーム。
regionStringはいデプロイメントを作成するリージョン。
connectionsNumberはいデプロイメントの接続数。サーバレスデプロイメントは1,000接続、専用デプロイメントは1,000〜10,000接続をサポートします。
tpsNumberはいデプロイメントの1秒あたりのトランザクション数(TPS)。
deploymentTypeStringはいデプロイメントプラン。"serverless"または"dedicatedFlex"のいずれか。
deploymentNameStringいいえデプロイメント名。省略した場合はシステムがデフォルト名を生成します。
deploymentVersionStringはいデプロイメントのバージョン。例:"v5"または"v6"。
projectIDStringはいプロジェクトID。プロジェクト一覧から取得可能です。
freeTrialBooleanはいデプロイメントが無料トライアルかどうか。

対応プランのクラウドプロバイダーおよびリージョンについては、クラウドプロバイダーとリージョンを参照してください。

デプロイメントのエディションによって、対応する接続数とTPSの仕様が異なります。

レスポンスメッセージ

  • 201:
名前説明
createAtStringデプロイメントの作成日時。
deploymentIDString一意のデプロイメントID。
deploymentNameStringデプロイメント名。
deploymentTypeStringデプロイメントの種類("dedicatedFlex"または"serverless")。
freeTrialBoolean無料トライアルかどうか。
platformStringクラウドプラットフォームの識別子。
portsObject各種プロトコル(MQTT、WebSocketなど)のポート設定。
projectIDStringこのデプロイメントが属するプロジェクトのID。
regionStringクラウドリージョンの識別子。
regionLabelStringリージョンの人間が読みやすい名称。
specObjectデプロイメントの仕様(接続数、バージョンなど)。
statusStringデプロイメントの現在の状態(running、stopped、pending)。
subscriptionBooleanこのデプロイメントがサブスクリプションベースかどうか。
userIDStringこのデプロイメントの所有ユーザーID。
  • 400: 不正なリクエスト
  • 401: APIキーの認証に失敗しました。
  • 403: APIキーにリクエストされたリソースへのアクセス権限がありません。
  • 422: リクエストパラメータが不正です。

リクエスト例

bash
curl -u key:secret -X POST {api}/deployments \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "aws",
    "region": "us-east-1",
    "connections": 1000,
    "tps": 1000,
    "deploymentType": "dedicatedFlex",
    "deploymentVersion": "v5",
    "projectID": "00000001",
    "freeTrial": false
  }'

レスポンス例

json
{
    "createAt": "2025-04-17 15:30",
    "deploymentID": "i9d0961f",
    "deploymentName": "deployment-i9d0961f",
    "deploymentType": "dedicatedFlex",
    "freeTrial": false,
    "platform": "aws",
    "ports": {
        "1883": {
            "status": "running",
            "protocol": "mqtt"
        },
        "8083": {
            "status": "running",
            "protocol": "ws"
        },
        "8084": {
            "status": "running",
            "protocol": "wss"
        },
        "8883": {
            "status": "running",
            "protocol": "mqtts"
        }
    },
    "projectID": "00000001",
    "region": "us-east-1",
    "regionLabel": "N. Virginia (us-east-1)",
    "spec": {
        "connections": 1000,
        "deploymentVersion": "v5",
        "freeTraffic": 100,
        "node": 2,
        "protection": false,
        "tps": 1000,
        "version": 5.2
    },
    "status": "pending",
    "subscription": false,
    "tls": null,
    "userID": "00000001"
}