共用方式為


操作

取得叢集節點

GET /clusters/{cluster}/nodes

參數

類型 名字 描述 圖式
路徑 叢集
需要
要查詢的叢集 字串
查詢 作業
選擇性
如果指定,則只會傳回此作業標識碼的節點,並在本文中包含 operation 屬性 字串
查詢 request_id
選擇性
如果指定,則只會傳回此要求標識碼所識別作業的節點,
和包含本文上的作業屬性
字串

反應

HTTP 程式代碼 描述 圖式
200 還行 NodeList
400 無效的規格 無內容
404 找不到 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes

HTTP 回應範例

回應 200

{
  "nodes" : [ { } ],
  "operation" : {
    "action" : "string",
    "startTime" : "2020-01-01T12:34:56Z"
  }
}

建立叢集節點

POST /clusters/{cluster}/nodes/create

描述

這項作業會將節點陣列中的新節點新增至叢集。 它會在單一呼叫中接受多個節點定義。 它會傳回可用來追蹤作業狀態的作業 URL。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要新增節點的叢集 字串
本文 節點
需要
要建立的節點集 NodeCreationRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeCreationResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/create

要求本文

{
  "requestId" : "00000000-0000-0000-0000-000000000000",
  "sets" : [ "object" ]
}

HTTP 回應範例

回應 202

{
  "operationId" : "00000000-0000-0000-0000-000000000000",
  "sets" : [ "object" ]
}

解除分配叢集節點

POST /clusters/{cluster}/nodes/deallocate

描述

這項作業會解除分配叢集中的節點。 您可以透過數種方式來識別節點,包括節點名稱、節點標識碼或篩選。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要解除分配節點的叢集 字串
本文 動作
需要
要解除分配的節點描述 NodeManagementRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeManagementResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/deallocate

要求本文

{
  "filter" : "State === \"Started\"",
  "hostnames" : [ "hostname1", "hostname2" ],
  "ids" : [ "id1", "id2" ],
  "ip_addresses" : [ "10.0.1.1", "10.1.1.2" ],
  "names" : [ "name1", "name2" ],
  "requestId" : "00000000-0000-0000-0000-000000000000"
}

HTTP 回應範例

回應 202

{
  "nodes" : [ "object" ],
  "operationId" : "00000000-0000-0000-0000-000000000000"
}

終止和移除叢集節點

POST /clusters/{cluster}/nodes/remove

描述

此作業會移除叢集中的節點。 您可以透過數種方式來識別節點,包括節點名稱、節點標識碼或篩選。 請注意,根據預設,終止時會移除節點(除非節點已將 [固定] 設定為 true),在此情況下,此呼叫與終止並無不同。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要移除節點的叢集 字串
本文 動作
需要
要移除哪些節點的描述 NodeManagementRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeManagementResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/remove

要求本文

{
  "filter" : "State === \"Started\"",
  "hostnames" : [ "hostname1", "hostname2" ],
  "ids" : [ "id1", "id2" ],
  "ip_addresses" : [ "10.0.1.1", "10.1.1.2" ],
  "names" : [ "name1", "name2" ],
  "requestId" : "00000000-0000-0000-0000-000000000000"
}

HTTP 回應範例

回應 202

{
  "nodes" : [ "object" ],
  "operationId" : "00000000-0000-0000-0000-000000000000"
}

終止或解除分配叢集節點

POST /clusters/{cluster}/nodes/shutdown

描述

此作業會終止或解除分配叢集中的節點,視每個節點上的 ShutdownPolicy 屬性是否分別為 Terminate(預設值)或解除分配而定。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要關閉節點的叢集 字串
本文 動作
需要
要關機的節點描述 NodeManagementRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeManagementResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/shutdown

要求本文

{
  "filter" : "State === \"Started\"",
  "hostnames" : [ "hostname1", "hostname2" ],
  "ids" : [ "id1", "id2" ],
  "ip_addresses" : [ "10.0.1.1", "10.1.1.2" ],
  "names" : [ "name1", "name2" ],
  "requestId" : "00000000-0000-0000-0000-000000000000"
}

HTTP 回應範例

回應 202

{
  "nodes" : [ "object" ],
  "operationId" : "00000000-0000-0000-0000-000000000000"
}

啟動已解除分配或終止的叢集節點

POST /clusters/{cluster}/nodes/start

描述

此作業會啟動叢集中的節點。 您可以透過數種方式來識別節點,包括節點名稱、節點標識碼或篩選。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要啟動節點的叢集 字串
本文 動作
需要
要啟動哪些節點的描述 NodeManagementRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeManagementResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/start

要求本文

{
  "filter" : "State === \"Started\"",
  "hostnames" : [ "hostname1", "hostname2" ],
  "ids" : [ "id1", "id2" ],
  "ip_addresses" : [ "10.0.1.1", "10.1.1.2" ],
  "names" : [ "name1", "name2" ],
  "requestId" : "00000000-0000-0000-0000-000000000000"
}

HTTP 回應範例

回應 202

{
  "nodes" : [ "object" ],
  "operationId" : "00000000-0000-0000-0000-000000000000"
}

終止叢集節點

POST /clusters/{cluster}/nodes/terminate

描述

這項作業會終止叢集中的節點。 您可以透過數種方式來識別節點,包括節點名稱、節點標識碼或篩選。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要終止節點的叢集 字串
本文 動作
需要
要終止之節點的描述 NodeManagementRequest

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeManagementResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/nodes/terminate

要求本文

{
  "filter" : "State === \"Started\"",
  "hostnames" : [ "hostname1", "hostname2" ],
  "ids" : [ "id1", "id2" ],
  "ip_addresses" : [ "10.0.1.1", "10.1.1.2" ],
  "names" : [ "name1", "name2" ],
  "requestId" : "00000000-0000-0000-0000-000000000000"
}

HTTP 回應範例

回應 202

{
  "nodes" : [ "object" ],
  "operationId" : "00000000-0000-0000-0000-000000000000"
}

將叢集調整為大小

POST /clusters/{cluster}/scale/{nodearray}

描述

此作業會視需要將節點新增至 nodearray,以達到總計數。 要求會處理一次,且稍後不會重新新增節點,以維護指定的號碼。 這會依核心總數或節點總數進行調整,但不會同時調整兩者。 它會傳回可用來追蹤作業狀態的作業 URL。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要新增節點的叢集 字串
路徑 nodearray
需要
要加入節點的 nodearray 字串
查詢 totalCoreCount
選擇性
此 nodearray 中要擁有的核心總數,包括已建立的節點 整數
查詢 totalNodeCount
選擇性
此 nodearray 中要擁有的機器總數,包括已建立的節點 整數

反應

HTTP 程式代碼 描述 圖式
202 接受
標頭
Location (string) :作業的 URL。
NodeCreationResult
409 無效的輸入 無內容

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/scale/NODEARRAY_NAME

HTTP 回應範例

回應 202

{
  "operationId" : "00000000-0000-0000-0000-000000000000",
  "sets" : [ "object" ]
}

取得叢集狀態

GET /clusters/{cluster}/status

描述

此作業包含指定叢集中節點和 nodearrays 的資訊。 針對每個 nodearray,它會傳回可使用之配置的每個「貯體」狀態,例如貯體中的節點數目、可以新增多少個節點等等。每個貯體都是一組給定硬體配置檔的可能 VM,可在指定位置、指定客戶帳戶下建立等。nodearray 的有效貯體是由使用者的叢集定義所決定,但限制是由雲端提供者部分決定。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要查詢的叢集 字串
查詢 節點
選擇性
如果為 true,回應中會傳回節點和節點參考 布爾

反應

HTTP 程式代碼 描述 圖式
200 還行 ClusterStatus

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/status

HTTP 回應範例

回應 200

{
  "maxCoreCount" : 16,
  "maxCount" : 4,
  "nodearrays" : [ "object" ],
  "nodes" : [ { } ],
  "state" : "Starting",
  "targetState" : "Started"
}

取得叢集的使用方式和選擇性成本資訊

GET /clusters/{cluster}/usage

描述

此作業會傳回叢集的整體使用量數據(核心時數)和成本數據,以及每個節點數位明細。 根據預設,它會傳回當月使用量的值。

參數

類型 名字 描述 圖式
路徑 叢集
需要
要傳回使用量數據的叢集 字串
查詢 時間範圍
選擇性
如果指定,這會指定要用於查詢的時間範圍。 monthToDate 會傳回目前月份的使用量,而 lastMonth 會傳回上個月的使用量。 weekToDate 會傳回目前一周的使用量(從星期日開始)。 自定義需要 『from』 和 『to』 查詢參數。 預設值為 MonthToDate。 所有時間都是UTC。 enum (monthToDate, lastMonth, weekToDate, custom)
查詢
選擇性
針對自定義時間範圍,這是 ISO-8601 格式的時間範圍開頭。 這會四捨五入為最接近的小時或一天。 字串
查詢
選擇性
針對自定義時間範圍,這是 ISO-8601 格式的時間範圍結尾。 這會四捨五入到最接近的一小時或一天。 字串
查詢 數據粒度
選擇性
指定如何匯總數據:依小時、每日或單一數位。 此預設值為每日。 列舉 (總計、每日、每小時)

反應

HTTP 程式代碼 描述 圖式
200 還行 ClusterUsage

HTTP 要求範例

要求路徑

/clusters/CLUSTER_NAME/usage

HTTP 回應範例

回應 200

{
  "usage" : [ "object" ]
}

列出作業的狀態

GET /operations/

參數

類型 名字 描述 圖式
查詢 request_id
選擇性
作業的要求標識碼。 如果指定此選項,清單中只會有 0 或 1 個專案。 字串

反應

HTTP 程式代碼 描述 圖式
200 還行 < OperationStatus> 陣列
400 要求無效 無內容
404 找不到 無內容

HTTP 要求範例

要求路徑

/operations/

HTTP 回應範例

回應 200

[ {
  "action" : "string",
  "startTime" : "2020-01-01T12:34:56Z"
} ]

依標識碼取得作業狀態

GET /operations/{id}

參數

類型 名字 描述 圖式
路徑 識別碼
需要
作業標識碼 字串

反應

HTTP 程式代碼 描述 圖式
200 還行 OperationStatus
404 找不到 無內容

HTTP 要求範例

要求路徑

/operations/00000000-0000-0000-0000-000000000000

HTTP 回應範例

回應 200

{
  "action" : "string",
  "startTime" : "2020-01-01T12:34:56Z"
}

資源

ClusterStatus

叢集的狀態

名字 描述 圖式
maxCoreCount
需要
可新增至此叢集的核心數目上限
範例16
整數
maxCount
需要
可新增至此叢集的節點數目上限
範例4
整數
nodearrays
需要
範例[ "object" ] < nodearrays> 陣列
節點
選擇性
此叢集中的節點選擇性清單,只有在 nodes=true 位於查詢中時才會包含
範例[ "[node](#node)" ]
< 節點> 陣列
狀態
選擇性
如果叢集已啟動至少一次,則為叢集的目前狀態
範例"Starting"
字串
targetState
選擇性
叢集的預期狀態(例如已啟動或已終止)
範例"Started"
字串

nodearrays

名字 描述 圖式
貯體
需要
此 nodearray 的每個配置區。 「核心計數」設定一律是這個貯體的核心計數的倍數。
範例[ "object" ]
陣列 <貯體>
maxCoreCount
需要
此 nodearray 中可能的核心數目上限
範例16
整數
maxCount
需要
此 nodearray 中可能的最大節點數目
範例4
整數
名稱
需要
這是描述的 nodearray
範例"execute"
字串
nodearray
需要
這個 nodearray 的屬性
範例"[node](#node)"
節點

貯體

名字 描述 圖式
activeCoreCount
需要
此 nodearray 中用於此貯體的核心數目
範例40
整數
activeCount
需要
此 nodearray 中用於此貯體的節點數目。 這包括仍在取得 VM 的節點。
範例10
整數
activeNodes
選擇性
用於此貯體之節點名稱,在此 nodearray 中。 這包括仍在取得 VM 的節點。 只有當 nodes=true 在查詢中時,才會包含此專案。
範例[ "string" ]
陣列 < 字串 >
availableCoreCount
需要
在此 nodearray 中,此貯體中可能會建立多少個額外的核心。 一律是多個 availableCount。
範例8
整數
availableCount
需要
在此 nodearray 中,此貯體中可以建立多少額外的節點。 請注意,這可能是小於 maxCount 和 usedCount 所隱含的,因為 maxCount 可能會受到全域限制。
範例2
整數
bucketId
需要
這個貯體的標識碼。 只要叢集未刪除,節點陣列中的指定貯體一律會有相同的值。
範例"00000000-0000-0000-0000-000000000000"
字串
取用的CoreCount
需要
此系列的核心數目已在整個區域使用中。
範例2
整數
定義
選擇性
這個貯體的屬性,用來從這個貯體建立節點。 create-nodes API 會在其 bucket 屬性中採用此定義。
範例"object"
定義
familyConsumedCoreCount
選擇性
此系列的核心數目已在整個區域使用中。
範例2
整數
familyQuotaCoreCount
選擇性
此區域可為此系列啟動的核心總數。 這可能不是 quotaCount 的整數倍數。
範例16
整數
familyQuotaCount
選擇性
可以啟動的實例總數(指定 familyQuotaCoreCount)
範例4
整數
invalidReason
需要
如果 valid 為 false,這將會包含貯體無效的原因。 目前 NotActivated 和 DisabledMachineType 是唯一的原因。
範例"DisabledMachineType"
字串
lastCapacityFailure
需要
自從上次此貯體發生容量失敗以來,以秒為單位的時間長度。 任何負值都會被視為永不。
範例180.0
maxCoreCount
需要
此貯體中可能的核心數目上限,包括全域和 nodearray 限制。 一律是 MaxCount的倍數。
範例16
整數
maxCount
需要
此貯體中可能的最大節點數目,包括全域和 nodearray 限制
範例4
整數
maxPlacementGroupCoreSize
需要
可在此貯體中放置群組中的核心總數上限。 一律是 maxPlacementGroupSize 的倍數。
範例64
整數
maxPlacementGroupSize
需要
此貯體中可位於放置群組中的實例總數上限
範例16
整數
placementGroups
需要
用於此 nodearray 的放置群組,如果有的話。
範例[ "object" ]
< placementGroups> 陣列
quotaCoreCount
需要
這個區域可為此系列啟動的核心總數,同時考慮到區域配額核心計數。 這可能不是 quotaCount 的整數倍數。
範例16
整數
quotaCount
需要
可以啟動的實例總數(指定 quotaCoreCount)
範例4
整數
regionalConsumedCoreCount
選擇性
已在整個區域中使用的核心數目。
範例2
整數
地區QuotaCoreCount
選擇性
可在此區域中啟動的核心總數。 這可能不是 regionalQuotaCount 的整數倍數。
範例16
整數
地區QuotaCount
選擇性
可以啟動的實例總數(指定地區QuotaCoreCount)
範例4
整數
有效的
需要
如果為 true,則此貯體代表目前用於新節點的有效貯體。 如果為 false,則此貯體僅代表現有的節點。
範例true
布爾
virtualMachine
需要
從這個貯體啟動之虛擬機的屬性
範例"object"
virtualMachine

定義

名字 描述 圖式
machineType
需要
虛擬機的 VM 大小
範例"A2"
字串

placementGroups

名字 描述 圖式
activeCoreCount
需要
此擴展集中有多少核心
範例16
整數
activeCount
需要
此擴展集中有多少個節點
範例4
整數
名稱
需要
這個放置群組的唯一標識碼
範例"my-placement-group"
字串

virtualMachine

名字 描述 圖式
gpuCount
需要
此電腦類型具有的 GPU 數目
範例2
整數
infiniband
需要
如果此虛擬機支援 InfiniBand 連線能力
範例true
布爾
記憶體
需要
此虛擬機中的 RAM,以 GB 為單位
範例7.5
pcpuCount
需要
此電腦類型具有的實體CPU數目
範例16
整數
vcpuCount
需要
此電腦類型的虛擬 CPU 數目
範例32
整數
vcpuQuotaCount
選擇性
此電腦從配額使用的 vCPU 數目
範例2
整數

ClusterUsage

叢集的使用方式和選擇性成本資訊

名字 描述 圖式
使用量
需要
依時間間隔的使用量清單
範例[ "object" ]
數位 <使用量>

使用量

名字 描述 圖式
明細
需要
此間隔中的使用量明細,依 “node” 和 “nodearray” 類別
範例[ "[clusterusageitem](#clusterusageitem)" ]
< ClusterUsageItem> 陣列

需要
間隔結尾 (獨佔)
範例"string"
字串
開始
需要
間隔的開頭(含)
範例"string"
字串

需要
此叢集在此間隔內的整體使用量,其類別為「叢集」
範例"[clusterusageitem](#clusterusageitem)"
ClusterUsageItem

ClusterUsageItem

名字 描述 圖式
類別
需要
整體使用量的「叢集」;單一非陣列前端節點的 「node」 ;整個 nodearray 的 “nodearray”
範例"string"
enum (cluster, node, nodearray)
成本
選擇性
以美元和零售費率收取此使用量費用的金額。 注意:所有成本金額都是估計值,不會反映實際帳單!
範例0.0
詳細數據
選擇性
nodearray 所使用的 VM 大小詳細數據,包括小時、core_count、區域優先順序和作業系統。
範例[ "object" ]
陣列 詳細數據
小時
需要
此類別的核心使用時數
範例0.0
節點
選擇性
使用方式的節點或 nodearray 名稱(叢集層級資料不存在)
範例"string"
字串

詳細數據

名字 描述 圖式
core_count
選擇性
此 VM 大小的核心數目
範例0.0
成本
選擇性
此 VM 大小的成本
範例0.0
小時
選擇性
此 VM 大小的核心時數
範例0.0
os
選擇性
操作系統類型
範例"string"
列舉 (Windows, Linux)
優先順序
選擇性
VM Sku 的優先順序
範例"string"
列舉(一般,現成)
區域
選擇性
VM 大小在 中具現化的區域
範例"string"
字串
vm_size
選擇性
VM Sku 大小
範例"string"
字串

節點

節點記錄

Type : 物件

NodeCreationRequest

指定如何將節點新增至叢集

名字 描述 圖式
requestId
選擇性
選擇性使用者提供的唯一令牌,以防止發生網路通訊錯誤時重複的作業。 如果包含並符合先前的要求標識符,伺服器會忽略此要求,並傳回 409 錯誤。
範例"00000000-0000-0000-0000-000000000000"
字串

需要
要建立的節點定義清單。 要求必須至少包含一組。 每個集合都可以指定一組不同的屬性。
範例[ "object" ]
陣列 <>

名字 描述 圖式
計數
需要
要建立的節點數目
範例1
整數
定義
選擇性
要使用的貯體定義。 這是由叢集狀態 API 呼叫所提供。 如果狀態呼叫中提供的某些專案遺失,或遺漏整個bucket屬性,則會使用符合指定專案的第一個貯體。
範例"object"
定義
nameFormat
選擇性
如果指定,節點會使用此命名慣例,而不是標準 「nodearray-%d」 格式
範例"custom-name-%d"
字串
nameOffset
選擇性
如果指定,以及 nameFormat,則會位移新節點的 nodeindex。
範例1
整數
nodeAttributes
選擇性
要在此集合的每個節點上設定的其他屬性
範例"[node](#node)"
節點
nodearray
需要
要從中啟動節點的 nodearray 名稱
範例"execute"
字串
placementGroupId
選擇性
如果指定,groupId 具有相同值的節點都會在相同的放置群組中啟動。
範例"string"
字串

定義

名字 描述 圖式
machineType
選擇性
範例"A2" 字串

NodeCreationResult

名字 描述 圖式
operationId
需要
此作業的識別碼
範例"00000000-0000-0000-0000-000000000000"
字串

需要
集合陣列,順序與要求中的順序相同
範例[ "object" ]
陣列 <>

名字 描述 圖式
已新增
需要
此集合中啟動的節點數目
範例1
整數
訊息
選擇性
指出如果存在,為何無法新增所有要求的節點
範例"string"
字串

NodeList

節點搜尋的結果

名字 描述 圖式
節點
需要
傳回的節點
範例[ "[node](#node)" ]
< 節點> 陣列
作業
選擇性
如果查詢包含作業標識碼,則這是該作業的狀態
範例"[operationstatus](#operationstatus)"
OperationStatus

NodeManagementRequest

指定如何在叢集中的節點上執行動作。 有多種方式可以指定節點,如果包含多個方法,則會將它視為聯集。

名字 描述 圖式
篩選
選擇性
符合節點的篩選條件表達式。 請注意,表達式中的字串必須正確加上引號。
範例"State === \"Started\""
字串
主機名
選擇性
要管理的簡短主機名清單(沒有網域)
範例[ "hostname1", "hostname2" ]
陣列 < 字串 >
識別碼
選擇性
要管理的節點識別碼清單
範例[ "id1", "id2" ]
陣列 < 字串 >
ip_addresses
選擇性
要管理的IP位址清單
範例[ "10.0.1.1", "10.1.1.2" ]
陣列 < 字串 >
名稱
選擇性
要管理的節點名稱清單
範例[ "name1", "name2" ]
陣列 < 字串 >
requestId
選擇性
選擇性使用者提供的唯一令牌,以防止發生網路通訊錯誤時重複的作業。 如果包含並符合先前的要求標識符,伺服器會忽略此要求,並傳回 409 錯誤。
範例"00000000-0000-0000-0000-000000000000"
字串

NodeManagementResult

名字 描述 圖式
節點
需要
與管理要求中篩選條件相符之每個節點的相關信息陣列。 每個節點的狀態都會指出它是否受到要求的影響。
範例[ "object" ]
陣列 節點
operationId
需要
此作業的識別碼
範例"00000000-0000-0000-0000-000000000000"
字串

節點

名字 描述 圖式
錯誤
選擇性
如果狀態為 Error,這包含錯誤訊息
範例"This node must be terminated before it can be removed"
字串
識別碼
需要
節點的標識碼
範例"id1"
字串
名稱
需要
節點的名稱
範例"name1"
字串
狀態
選擇性
其中一個 [確定] 或 [錯誤]
範例"Error"
列舉 (確定錯誤)

OperationStatus

此節點作業的狀態

名字 描述 圖式
動作
需要
範例"string" 列舉 (create)
startTime
需要
提交此作業時
範例"2020-01-01T12:34:56Z"
string (date-time)