Batch Compute サービスは、MNS が提供するトピックに基づいて通知メッセージを送信します。トピックの作成、管理、購読、および Batch Compute を使用してクラスタを作成したりジョブを送信したりする際のトピック構成の指定を行うことができます。Batch Compute は、構成に基づいて、指定されたトピックにメッセージをプッシュします。MNS コンソールでは、URL、MNS キュー、メール、SMS の 4 つの通知方法を設定できます。現在、Batch Compute は、クラスタイベントとジョブイベントの 2 種類のメッセージイベントをサポートしています。
MNS トピックを作成する
MNS トピックサブスクリプションを作成する
Batch Compute メッセージプッシュを承認する。
コンソールにログインしてワンキー承認を完了します。承認が完了していない場合は、コンソールに次のメッセージが表示されます。
承認が完了している場合は、この手順をスキップします。
2. 課金
メッセージサービス料金はメッセージサービスによって決済され、Batch Compute サービスに追加料金は発生しません。
3. メッセージタイプ
3.1 クラスタイベント
SDK またはコンソールを使用してクラスタを作成する場合、次のタイプのメッセージイベントを構成できます。
{
"Notification": {
"Topic": {
"Name": "test-topic",
"Endpoint": "http://[UserId].mns.[Region].aliyuncs.com/",
"Events": [
"OnClusterDeleted", // クラスタ削除時
"OnInstanceCreated", // インスタンス作成時
"OnInstanceActive" // インスタンスアクティブ時
]
}
}
}
フィールド | 説明 |
Name | MNS トピックの名前。 |
Endpoint | MNS イントラネットエンドポイント。リージョンとエンドポイントを参照してください。 |
3.2 ジョブイベント
SDK またはコンソールを使用してジョブを作成する場合、次のタイプのメッセージイベントを構成できます。
{
"Notification": {
"Topic": {
"Name": "test-topic",
"Endpoint": "http://[UserId].mns.[Region].aliyuncs.com/",
"Events": [
"OnJobWaiting", // ジョブ待機時
"OnJobRunning", // ジョブ実行時
"OnJobStopped", // ジョブ停止時
"OnJobFinished", // ジョブ完了時
"OnJobFailed", // ジョブ失敗時
"OnTaskWaiting", // タスク待機時
"OnTaskRunning", // タスク実行時
"OnTaskStopped", // タスク停止時
"OnTaskFinished", // タスク完了時
"OnTaskFailed", // タスク失敗時
"OnInstanceWaiting", // インスタンス待機時
"OnInstanceRunning", // インスタンス実行時
"OnInstanceStopped", // インスタンス停止時
"OnInstanceFinished", // インスタンス完了時
"OnInstanceFailed", // インスタンス失敗時
"OnPriorityChange" // 優先度変更時
]
}
}
}
フィールド | 説明 |
Name | MNS トピックの名前 |
Endpoint | MNS イントラネットエンドポイント。 |
4. メッセージ形式
現在、メッセージは JSON 文字列形式で送信されます。
4.1 クラスタイベント
OnClusterDeleted イベントのメッセージ。
{
"Category": "Cluster", // クラスタ
"ClusterId": "cls-hr2rbl6qt5gki7392b8001", // クラスタID
"ClusterName": "test-cluster", // クラスタ名
"CreationTime": "2016-11-01T15:25:02.837728Z", // 作成時間
"State": "Deleted", // 状態
"Event": "OnClusterDeleted" // イベント
}
OnInstanceCreated イベントまたは OnInstanceActive イベントのメッセージ。
{
"Category": "Cluster", // クラスタ
"ClusterId": "cls-hr2rbl6qt5gki7392b8001", // クラスタID
"Group": "group1", // グループ
"InstanceId": "i-wz9c51g2s6zsrtnqi4fa", // インスタンスID
"InnerIpAddress": "10.45.168.26", // 内部IPアドレス
"Hints": "", // ヒント
"State": "Starting", // 状態
"CreationTime": "2016-11-01T15:25:02.837728Z", // 作成時間
"Event": "OnInstanceCreated" // イベント
}
4.2 ジョブイベント
OnJobWaiting、OnJobRunning、OnJobStopped、OnJobFinished、または OnJobFailed イベントのメッセージ。
{
"Category": "Job", // ジョブ
"JobId": "job-0000000058524720000077E900007257", // ジョブID
"JobName": "test-job", // ジョブ名
"Event": "OnJobWaiting", // イベント
"State": "Waiting", // 状態
"CreationTime": "2016-11-01T15:25:02.837728Z", // 作成時間
"StartTime": "2016-11-01T15:35:02.837728Z", // 開始時間
"EndTime": "2016-11-01T15:45:02.837728Z", // 終了時間
"Message": "" // メッセージ
}
OnTaskWaiting、OnTaskRunning、OnTaskStopped、OnTaskFinished、または OnTaskFailed イベントのメッセージ
{
"Category": "Job", // ジョブ
"JobId": "job-0000000058524720000077E900007257", // ジョブID
"Task": "Echo", // タスク
"Event": "OnTaskWaiting", // イベント
"State": "Waiting", // 状態
"StartTime": "2016-11-01T15:35:02.837728Z", // 開始時間
"EndTime": "2016-11-01T15:45:02.837728Z" // 終了時間
}
OnInstanceWaiting、OnInstanceRunning、OnInstanceStopped、OnInstanceFinished/OnInstanceFailed イベントのメッセージ。
{
"Category": "Job", // ジョブ
"JobId": "job-0000000058524720000077E900007257", // ジョブID
"Task": "Echo", // タスク
"InstanceId": "0", // インスタンスID
"Event": "OnInstanceWaiting", // イベント
"State": "Waiting", // 状態
"StartTime": "2016-11-01T15:35:02.837728Z", // 開始時間
"EndTime": "2016-11-01T15:45:02.837728Z", // 終了時間
"RetryCount": "0", // 再試行回数
"Progress": "0", // 進捗
"StdoutRedirectPath": "oss://bucket/tests/a44c0ad8-a003-11e6-8f8e-fefec0a80e06/logs/stderr.job-0000000058184218000008150000000D.task.0", // 標準出力リダイレクトパス
"StderrRedirectPath": "oss://bucket/tests/a44c0ad8-a003-11e6-8f8e-fefec0a80e06/logs/stdout.job-0000000058184218000008150000000D.task.0", // 標準エラーリダイレクトパス
"ExitCode": "0", // 終了コード
"ErrorCode": "", // エラーコード
"ErrorMessage": "", // エラーメッセージ
"Detail": "" // 詳細
}
OnPriorityChange イベントのメッセージ。
{
"Category": "Job", // ジョブ
"JobId": "job-0000000058524720000077E900007257", // ジョブID
"JobName": "test-job", // ジョブ名
"Event": "OnPriorityChange", // イベント
"State": "Waiting", // 状態
"CreationTime": "2016-11-01T15:45:02.837728Z", // 作成時間
"StartTime": "2016-11-01T15:55:02.837728Z", // 開始時間
"EndTime": "2016-11-01T15:57:02.837728Z", // 終了時間
"Message": "", // メッセージ
"From": "10", // 変更前
"To": "20" // 変更後
}