CloudHub API
CloudHub 管理 API (CloudHub API) を使用すると、Anypoint Runtime Manager の次の機能にプログラムでアクセスできます。
-
アプリケーションの管理:
-
CloudHub でアプリケーションを作成、デプロイ、開始、終了、リスト、削除する。
-
ワーカー数、Mule Runtime Engine バージョン、システムプロパティなどのアプリケーションのメタデータを更新する。
-
アプリケーションやワーカーの統計情報を取得する。
-
アプリケーションのトランザクションやトランザクションのイベントを取得する。
-
再生データを確認し、トランザクションのフローを再生して、アプリケーションの再生データを削除する。
-
静的 IP アドレスを管理して、アプリケーションに関連付けられている未使用の IP アドレスを解放する。
-
アプリケーションの Mule パッケージをダウンロードする。
-
スケジュールの全部または一部を更新、有効化、無効化、または実行する。
-
-
ログ、通知、アラートの管理:
-
アプリケーションのログレベルを追加、更新、取得する。
-
アプリケーションまたはインスタンスのログファイルをダウンロードする。
-
通知を作成、更新、取得する。
-
通知を既読または未読としてマークする。
-
アプリケーションによってトリガされるアラートを作成、更新、削除する。
-
アラートとアラート履歴を取得する。
-
-
ロードバランサの管理:
-
ロードバランサを作成、更新、削除する。
-
組織内のロードバランサをリストする。
-
ロードバランサルールをテストして、入力に適用されるルールの数を返す。
-
-
VPC、VPN、TGW の管理:
-
VPC を作成、更新、リスト、削除する。
-
VPN 接続を作成、削除する。
-
Anypoint Platform 組織への複数の AWS トランジットゲートウェイアタッチメントを追加、変更、削除する。
-
-
永続的なキューの管理:
-
永続的なキューの統計情報を取得する。
-
永続的なキューからエントリをクリアする。
-
-
以下に関する追加情報を取得する:
-
サポート対象の Mule バージョン
-
現在の組織 (使用状況の統計情報を含む)
-
ワーカー (スレッドダンプとワーカー領域を含む)
-
ユーザ (権限を含む)
-
使用可能なドメイン名
-
サポートされているリソース、メソッド、必須プロパティ、予想される応答の対話型リファレンスについては、 「CloudHub API」を参照してください。
CloudHub API は、クラウドベースバージョンの Runtime Manager にデプロイされたアプリケーションのみを管理します。 API を使用したオンプレミスアプリケーションの管理については、 「Runtime Manager REST サービス」を参照してください。
CloudHub API の使用
アプリケーションの操作に慣れてから開始してください。
CloudHub API ではどの HTTP クライアントでも使用できます。 Java を使用する場合は、JSON 用の Jackson がサポートされている Jersey クライアントまたは HttpClient を使用してください。
CloudHub API の操作にアクセスするには、以下を行う必要があります。
-
API を使用して認証するには認証ベアラートークン (AUTH_BEARER_TOKEN) を生成します。
アクセストークンを取得するには、組織のシステム管理者ロールが割り当てられたユーザの Anypoint Platform ユーザ名とパスワードが必要です。 「アクセス管理 API」の 「認証」を参照してください。
ユーザ名により、アクセスする環境が指定されます。 たとえば、ユーザ名が
consuela
で環境が Development
の場合、ユーザ名は consuela@Development
になります。 環境を指定しない場合の API のデフォルトは Production
です。 -
組織 ID (ORG_ID) を取得します。
「アクセス管理 API」の
/api/me
エンドポイントを確認してください。 -
環境 ID (ENV_ID) を取得します。
「アクセス管理 API」の
/api/organizations/ORG_ID/environments
エンドポイントを確認してください。
データ形式
型を返すまたは受け入れるリソースやメソッドは、JSON データ形式を使用します。 アプリケーションの取得要求への応答として JSON 形式で受信するデータの例を示します。
{
"versionId": "xxxxxxxx",
"domain": "hello",
"fullDomain": "hello.us-e1.cloudhub.io",
"properties": {
"foo":"bar"
},
"propertiesOptions": {},
"status": "STARTED",
"workers": {
"type": {
"name": "Micro",
"weight": 0.1,
"cpu": "0.1 vCores",
"memory": "500 MB memory"
},
"amount": 1,
"remainingOrgWorkers": 223.7,
"totalOrgWorkers": 1000.0
},
"workerStatuses": [
{
"id": "i-xxxxxxxx",
"host": "xxx.xxx.xxx.xxx",
"port": 0,
"status": "STARTED",
"deployedRegion": "us-east-1",
"staticIPEnabled": false
}
],
"lastUpdateTime": 1589868960908,
"fileName": "hello.zip",
"muleVersion": {
"version": "4.3.0",
"updateId": "xxxxxxxx",
"latestUpdateId": "xxxxxxxx",
"endOfSupportDate": 1633737600000
},
...
}
レート制限
CloudHub 管理 API は、グローバル使用制限を適用しますが、いくつかの例外があります。
CloudHub 管理 API のグローバルレート制限
グローバルレート制限の例外に示す例外を除いた CloudHub 管理 API エンドポイントのレート制限を下表に示します。
アプリケーションがレート制限に達すると、CloudHub は 503 状況コードを返します。
エンドポイント | コントロールプレーン | クライアント IP アドレスごとのレート制限 | 状況コード |
---|---|---|---|
指定されたエンドポイント以外のすべてのエンドポイント |
米国 |
75 要求/秒 |
|
EU |
25 要求/秒 |
||
Government Cloud |
グローバルレート制限の例外
CloudHub 管理 API のグローバルレート制限の例外を下表に示します。
アプリケーションがレート制限に達すると、CloudHub は下表の状況コードを返します。
エンドポイント | コントロールプレーン | クライアント IP アドレスごとのレート制限 | 状況コード |
---|---|---|---|
|
|||
|
米国 |
75 要求/秒 |
|
EU |
25 要求/秒 |
||
Government Cloud |
|||
|
|||
|
すべて |
10 要求/秒 |
|
|
|||
|
|||
|
1 要求/分 |
|
状況コードとエラー処理
CloudHub API をコールすると、次の状況コードが返されます。
状況コード | 説明 |
---|---|
200 |
操作に成功した。 |
201 |
リソース (アプリケーションなど) が作成された。
|
404 |
リソースが見つからなかった。 |
409 |
リソース (サーバ、サーバグループ、デプロイメントなど) の作成時に同じ名前のリソースがすでに存在していた。 |
429 |
レート制限に達したために操作に失敗した。 |
500 |
操作に失敗した。 詳細は、HTTP 本文を参照してください。 |
503 |
一時的なじょうたい (例: サーバの過負荷、レート制限に達した) のために操作に失敗した。 操作を再試行します。 |
エラーが発生した場合 (500 状況コードなど)、HTTP 応答には JSON 応答とエラーメッセージが含まれます。
500
Content-Type: application/json
Server: Apache-Coyote/1.1
Date: Mon, 10 Aug 2015 00:12:55 GMT
{
message : "Some error message."
}