デプロイメント管理API
このページでは、デプロイメント一覧の取得、デプロイメントの状態照会、デプロイメントの開始・停止、新規デプロイメントの作成に関するAPIの使い方を説明します。
デプロイメント一覧の取得
URI
GET /deployments
TIP
このメソッドは60分間に60回までのリクエストが可能です。
リクエストメッセージ
なし
レスポンスメッセージ
- 200:
| 名前 | 型 | 説明 |
|---|---|---|
| connections | Number | デプロイメントの接続数。 |
| tps | Number | デプロイメントの1秒あたりのトランザクション数(TPS)。 |
| createAt | String | デプロイメントの作成日時。 |
| deploymentID | String | 一意のデプロイメントID。 |
| deploymentName | String | デプロイメント名。 |
| deploymentType | String | デプロイメントの種類:"serverless"はサーバレス版、"dedicated"は専用版、"dedicatedFlex"は専用Flex版。 |
| platform | String | デプロイメントのクラウドサービスプロバイダー。 |
| projectName | String | デプロイメントに紐づくプロジェクト名。 |
| region | String | デプロイメントが配置されているリージョン。 |
| status | String | デプロイメントの現在の状態:"running"、"starting"、"stopped"のいずれか。 |
| version | String | デプロイメントのバージョン。 |
- 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:
| 名前 | 型 | 説明 |
|---|---|---|
| connections | Number | デプロイメントの接続数。 |
| tps | Number | デプロイメントの1秒あたりのトランザクション数(TPS)。 |
| createAt | String | デプロイメントの作成日時。 |
| deploymentID | String | 一意のデプロイメントID。 |
| deploymentName | String | デプロイメント名。 |
| deploymentType | String | デプロイメントの種類。"dedicated"は専用版、"dedicatedFlex"は専用Flex版。 |
| platform | String | デプロイメントのクラウドサービスプロバイダー。 |
| region | String | デプロイメントが配置されているリージョン。 |
| status | String | デプロイメントの現在の状態:"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:
| 名前 | 型 | 説明 |
|---|---|---|
| deploymentID | String | 一意のデプロイメントID。 |
| deploymentName | String | デプロイメント名。 |
| operation | String | 操作の種類:"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:
| 名前 | 型 | 説明 |
|---|---|---|
| deploymentID | String | 一意のデプロイメントID。 |
| deploymentName | String | デプロイメント名。 |
| operation | String | 操作の種類:"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バージョンのみサポートされています。
リクエストメッセージ
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| platform | String | はい | デプロイメントをホストするクラウドプラットフォーム。 |
| region | String | はい | デプロイメントを作成するリージョン。 |
| connections | Number | はい | デプロイメントの接続数。サーバレスデプロイメントは1,000接続、専用デプロイメントは1,000〜10,000接続をサポートします。 |
| tps | Number | はい | デプロイメントの1秒あたりのトランザクション数(TPS)。 |
| deploymentType | String | はい | デプロイメントプラン。"serverless"または"dedicatedFlex"のいずれか。 |
| deploymentName | String | いいえ | デプロイメント名。省略した場合はシステムがデフォルト名を生成します。 |
| deploymentVersion | String | はい | デプロイメントのバージョン。例:"v5"または"v6"。 |
| projectID | String | はい | プロジェクトID。プロジェクト一覧から取得可能です。 |
| freeTrial | Boolean | はい | デプロイメントが無料トライアルかどうか。 |
対応プランのクラウドプロバイダーおよびリージョンについては、クラウドプロバイダーとリージョンを参照してください。
デプロイメントのエディションによって、対応する接続数とTPSの仕様が異なります。
レスポンスメッセージ
- 201:
| 名前 | 型 | 説明 |
|---|---|---|
| createAt | String | デプロイメントの作成日時。 |
| deploymentID | String | 一意のデプロイメントID。 |
| deploymentName | String | デプロイメント名。 |
| deploymentType | String | デプロイメントの種類("dedicatedFlex"または"serverless")。 |
| freeTrial | Boolean | 無料トライアルかどうか。 |
| platform | String | クラウドプラットフォームの識別子。 |
| ports | Object | 各種プロトコル(MQTT、WebSocketなど)のポート設定。 |
| projectID | String | このデプロイメントが属するプロジェクトのID。 |
| region | String | クラウドリージョンの識別子。 |
| regionLabel | String | リージョンの人間が読みやすい名称。 |
| spec | Object | デプロイメントの仕様(接続数、バージョンなど)。 |
| status | String | デプロイメントの現在の状態(running、stopped、pending)。 |
| subscription | Boolean | このデプロイメントがサブスクリプションベースかどうか。 |
| userID | String | このデプロイメントの所有ユーザー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"
}