你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

操作

获取群集节点

GET /clusters/{cluster}/nodes

参数

类型 名字 描述 图式
路径 群集
所需的
要查询的群集 字符串
查询 操作
可选
如果给定,则仅返回此操作 ID 的节点,并包括正文上的操作属性 字符串
查询 request_id
可选
如果给定,则仅返回此请求 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

描述

此操作将解除分配群集中的节点。 可以通过多种方式标识节点,包括节点名称、节点 ID 或筛选器。

参数

类型 名字 描述 图式
路径 群集
所需的
要解除分配节点的群集 字符串
正文 操作
所需的
要解除分配的节点的说明 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

描述

此操作将删除群集中的节点。 可以通过多种方式标识节点,包括节点名称、节点 ID 或筛选器。 请注意,默认情况下,终止时会删除节点(除非节点已将固定设置为 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 属性是“终止”(默认值)还是“解除分配”。

参数

类型 名字 描述 图式
路径 群集
所需的
要关闭节点的群集 字符串
正文 操作
所需的
要关闭的节点的说明 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

描述

此操作启动群集中的节点。 可以通过多种方式标识节点,包括节点名称、节点 ID 或筛选器。

参数

类型 名字 描述 图式
路径 群集
所需的
要在其中启动节点的群集 字符串
正文 操作
所需的
要启动的节点的说明 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

描述

此操作将终止群集中的节点。 可以通过多种方式标识节点,包括节点名称、节点 ID 或筛选器。

参数

类型 名字 描述 图式
路径 群集
所需的
要终止节点的群集 字符串
正文 操作
所需的
要终止的节点的说明 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}

描述

此操作会根据需要向节点数组添加节点,以达到总计数。 请求一次处理,以后不会重新添加节点来维护给定的数字。 这会按核心总数或总节点进行缩放,但不能同时缩放。 它将返回可用于跟踪操作状态的操作的 URL。

参数

类型 名字 描述 图式
路径 群集
所需的
要向其添加节点的群集 字符串
路径 nodearray
所需的
要向其添加节点的 nodearray 字符串
查询 totalCoreCount
可选
此节点数组中要包含的核心总数,包括已创建的节点 整数
查询 totalNodeCount
可选
此节点数组中要拥有的计算机总数,包括已创建的节点 整数

反应

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

描述

此操作包含给定群集中节点和节点数组的信息。 对于每个节点数组,它将返回可以使用的每个“存储桶”分配的状态,例如存储桶中的节点数、可添加的节点数等。每个存储桶都是给定硬件配置文件的一组可能的 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 返回当前月份的使用情况,最后一个月返回上一个月的使用情况。 weekToDate 返回当前周(从星期日开始)的使用情况。 自定义需要“from”和“to”查询参数。 默认值为 MonthToDate。 所有时间都采用 UTC 格式。 枚举(monthToDate、lastMonth、weekToDate、custom)
查询
可选
对于自定义时间范围,这是 ISO-8601 格式的时间范围开始。 这会向下舍入到最接近的小时或一天。 字符串
查询
可选
对于自定义时间范围,这是 ISO-8601 格式的时间范围结束。 这向上舍入到最近的一小时或一天。 字符串
查询 粒度
可选
指定如何聚合数据:按小时、按每日或单个数字。 此默认值为每日。 枚举(总计、每日、每小时)

反应

HTTP 代码 描述 图式
200 还行 ClusterUsage

HTTP 请求示例

请求路径

/clusters/CLUSTER_NAME/usage

HTTP 响应示例

响应 200

{
  "usage" : [ "object" ]
}

列出操作的状态

GET /operations/

参数

类型 名字 描述 图式
查询 request_id
可选
操作的请求 ID。 如果指定了此项,则列表中只有 0 个或 1 个元素。 字符串

反应

HTTP 代码 描述 图式
200 还行 < OperationStatus> 数组
400 请求无效 无内容
404 找不到 无内容

HTTP 请求示例

请求路径

/operations/

HTTP 响应示例

响应 200

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

按 ID 获取操作状态

GET /operations/{id}

参数

类型 名字 描述 图式
路径 id
所需的
操作 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)" ]
< Node> 数组
状态
可选
群集的当前状态(如果已至少启动一次)
示例"Starting"
字符串
targetState
可选
群集的所需状态(例如已启动或已终止)
示例"Started"
字符串

nodearrays

名字 描述 图式
存储桶
所需的
此节点数组的每个分配桶。 “核心计数”设置始终是此存储桶的核心计数的倍数。
示例[ "object" ]
< 存储桶> 数组
maxCoreCount
所需的
此 nodearray 中可能的最大核心数
示例16
整数
maxCount
所需的
此节点数组中可能的最大节点数
示例4
整数
名称
所需的
正在描述的 nodearray
示例"execute"
字符串
nodearray
所需的
此 nodearray 的属性
示例"[node](#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"
字符串
consumedCoreCount
所需的
已在整个区域中使用的此系列的核心数。
示例2
整数
定义
可选
此存储桶的属性,用于从此存储桶创建节点。 create-nodes API 在其 bucket 属性中采用此定义。
示例"object"
定义
familyConsumedCoreCount
可选
已在整个区域中使用的此系列的核心数。
示例2
整数
familyQuotaCoreCount
可选
可以在此区域中为此系列启动的总核心数。 这可能不是 quotaCount 的整数倍数。
示例16
整数
familyQuotaCount
可选
可以启动的总实例数(给定 familyQuotaCoreCount)
示例4
整数
invalidReason
所需的
如果有效为 false,则包含存储桶无效的原因。 目前 NotActivated 和 DisabledMachineType 是唯一的原因。
示例"DisabledMachineType"
字符串
lastCapacityFailure
所需的
自上次此存储桶发生容量故障以来,持续时间(以秒为单位)。 任何负值都被视为永不。
示例180.0
maxCoreCount
所需的
此存储桶中可能的最大核心数,包括全局和节点数组限制。 始终为 maxCount 的倍数。
示例16
整数
maxCount
所需的
此存储桶中可能的最大节点数,包括全局节点和节点数组限制
示例4
整数
maxPlacementGroupCoreSize
所需的
此存储桶中可位于放置组中的最大核心数。 始终是 maxPlacementGroupSize 的倍数。
示例64
整数
maxPlacementGroupSize
所需的
此存储桶中可位于放置组中的最大实例总数
示例16
整数
placementGroups
所需的
用于此 nodearray 的放置组(如果有)。
示例[ "object" ]
< placementGroups> 数组
quotaCoreCount
所需的
此区域中可为此系列启动的总核心数,同时考虑到区域配额核心计数。 这可能不是 quotaCount 的整数倍数。
示例16
整数
quotaCount
所需的
可以启动的总实例数(给定 quotaCoreCount)
示例4
整数
regionalConsumedCoreCount
可选
在整个区域中已使用的核心数。
示例2
整数
regionalQuotaCoreCount
可选
可以在此区域中启动的总核心数。 这可能不是区域QuotaCount 的整数倍数。
示例16
整数
regionalQuotaCount
可选
可以启动的总实例数(给定 regionalQuotaCoreCount)
示例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"
枚举 (群集, 节点, nodearray)
成本
可选
按美元和零售费率收取此使用量的费用。 注意:所有成本金额都是估算值,并不反映实际帐单!
示例0.0
详细信息
可选
节点数组使用的 VM 大小的详细信息,包括小时、core_count、区域优先级和操作系统。
示例[ "object" ]
< > 数组的详细信息
小时
所需的
此类别的核心使用小时数
示例0.0
节点
可选
使用节点或节点数组的名称(群集级数据不存在)
示例"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"
字符串

节点

节点记录

类型: 对象

NodeCreationRequest

指定如何将节点添加到群集

名字 描述 图式
requestId
可选
可选的用户提供的唯一令牌,以防止出现网络通信错误时重复的操作。 如果包含此 ID 并匹配以前的请求 ID,则服务器将忽略此请求并返回 409 错误。
示例"00000000-0000-0000-0000-000000000000"
字符串

所需的
要创建的节点定义列表。 请求必须至少包含一个集。 每个集可以指定一组不同的属性。
示例[ "object" ]
< > 数组集

名字 描述 图式
计数
所需的
要创建的节点数
示例1
整数
定义
可选
要使用的存储桶的定义。 这由群集状态 API 调用提供。 如果状态调用中给定的某些项缺失,或者缺少整个 Bucket 属性,则使用与给定项匹配的第一个存储桶。
示例"object"
定义
nameFormat
可选
如果给定,节点将使用此命名约定,而不是标准“nodearray-%d”格式
示例"custom-name-%d"
字符串
nameOffset
可选
如果给定,以及 nameFormat,则偏移新节点的 nodeindex。
示例1
整数
nodeAttributes
可选
要在此集中的每个节点上设置的其他属性
示例"[node](#node)"
Node
nodearray
所需的
要从中启动节点的 nodearray 的名称
示例"execute"
字符串
placementGroupId
可选
如果给定,groupId 具有相同值的节点都将在同一放置组中启动。
示例"string"
字符串

定义

名字 描述 图式
machineType
可选
示例"A2" 字符串

NodeCreationResult

名字 描述 图式
operationId
所需的
此操作的 ID
示例"00000000-0000-0000-0000-000000000000"
字符串

所需的
集数组,顺序与请求中的顺序相同
示例[ "object" ]
< > 数组集

名字 描述 图式
添加了
所需的
在此集中启动的节点数
示例1
整数
消息
可选
指示为何不能添加所有请求的节点(如果存在)
示例"string"
字符串

NodeList

节点搜索的结果

名字 描述 图式
节点
所需的
返回的节点
示例[ "[node](#node)" ]
< Node> 数组
操作
可选
如果查询包含操作 ID,则这是该操作的状态
示例"[operationstatus](#operationstatus)"
OperationStatus

NodeManagementRequest

指定如何在群集中的节点上执行操作。 有多种方法可以指定节点,如果包含多个方法,则会将其视为联合。

名字 描述 图式
筛选器
可选
与节点匹配的筛选器表达式。 请注意,表达式中的字符串必须正确引用。
示例"State === \"Started\""
字符串
主机名
可选
要管理的短主机名列表(无域)
示例[ "hostname1", "hostname2" ]
< 字符串 > 数组
id
可选
要管理的节点 ID 列表
示例[ "id1", "id2" ]
< 字符串 > 数组
ip_addresses
可选
要管理的 IP 地址列表
示例[ "10.0.1.1", "10.1.1.2" ]
< 字符串 > 数组
名称
可选
要管理的节点名称列表
示例[ "name1", "name2" ]
< 字符串 > 数组
requestId
可选
可选的用户提供的唯一令牌,以防止出现网络通信错误时重复的操作。 如果包含此 ID 并匹配以前的请求 ID,则服务器将忽略此请求并返回 409 错误。
示例"00000000-0000-0000-0000-000000000000"
字符串

NodeManagementResult

名字 描述 图式
节点
所需的
与管理请求中的筛选器匹配的每个节点的信息数组。 每个节点的状态指示它是否受请求影响。
示例[ "object" ]
< 节点> 数组
operationId
所需的
此操作的 ID
示例"00000000-0000-0000-0000-000000000000"
字符串

节点

名字 描述 图式
错误
可选
如果状态为“错误”,则包含错误消息
示例"This node must be terminated before it can be removed"
字符串
id
所需的
节点的 ID
示例"id1"
字符串
名称
所需的
节点的名称
示例"name1"
字符串
状态
可选
确定或错误之一
示例"Error"
枚举 (确定,错误)

OperationStatus

此节点操作的状态

名字 描述 图式
操作
所需的
示例"string" 枚举 (create)
startTime
所需的
提交此操作时
示例"2020-01-01T12:34:56Z"
string (date-time)