共用方式為

sfctl 分区

查询和管理任何服务的分区。

指令

命令 说明
数据丢失 此 API 会引发指定分区的数据丢失。
data-loss-status 获取使用 StartDataLoss API 启动的分区数据丢失操作的进度。
健康状况 获取指定服务Fabric分区的运行状况。
信息 获取有关服务Fabric分区的信息。
列表 获取服务Fabric服务的分区列表。
加载 获取指定服务Fabric分区的加载信息。
load-reset 重置服务Fabric分区的当前负载。
quorum-loss 为给定有状态服务分区引入仲裁丢失。
quorum-loss-status 获取使用 StartQuorumLoss API 启动的分区上的仲裁丢失操作的进度。
recover 向服务Fabric群集指示它应尝试恢复当前停滞在仲裁丢失中的特定分区。
recover-all 向服务Fabric群集指示,它应尝试恢复当前停滞在仲裁丢失中的任何服务(包括系统服务)。
report-health 在服务Fabric分区上发送运行状况报告。
重启 此 API 重启指定分区的某些或所有副本或实例。
restart-status 获取使用 StartPartitionRestart 启动的 PartitionRestart 操作的进度。
svc-name 获取分区的服务Fabric服务的名称。

sfctl partition data-loss

此 API 会引发指定分区的数据丢失。

它会触发对分区的 OnDataLossAsync API 的调用。 此 API 会引发指定分区的数据丢失。 它会触发对分区的 OnDataLoss API 的调用。 实际数据丢失取决于指定的 DataLossMode。

  • PartialDataLoss:仅删除副本的仲裁,并且对分区触发 OnDataLoss,但实际数据丢失取决于是否存在正在进行的复制。
  • FullDataLoss:删除所有副本,因此会丢失所有数据并触发 OnDataLoss。 仅应使用有状态服务作为目标调用此 API。 不建议使用系统服务调用此 API 作为目标。

注释

调用此 API 后,无法撤消。 调用 CancelOperation 只会停止执行并清理内部系统状态。 如果命令进展得足够远,导致数据丢失,则不会还原数据。 调用具有相同 OperationId 的 GetDataLossProgress API,以返回有关从此 API 启动的操作的信息。

Arguments

论点 说明
--data-loss-mode [必需] 此枚举将传递给 StartDataLoss API,以指示要引入的数据丢失类型。
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition data-loss-status

获取使用 StartDataLoss API 启动的分区数据丢失操作的进度。

获取使用 OperationId 以 StartDataLoss 开头的数据丢失操作的进度。

Arguments

论点 说明
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition health

获取指定服务Fabric分区的运行状况。

使用 EventsHealthStateFilter 根据运行状况筛选服务报告的运行状况事件的集合。 使用 ReplicasHealthStateFilter 筛选分区上 ReplicaHealthState 对象的集合。 如果指定运行状况存储中不存在的分区,此请求将返回错误。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--events-health-state-filter 允许筛选基于运行状况返回的 HealthEvent 对象的集合。 此参数的可能值包括以下运行状况状态之一的整数值。 仅返回与筛选器匹配的事件。 所有事件都用于评估聚合的运行状况状态。 如果未指定,则返回所有条目。 状态值是基于标志的枚举,因此该值可以是使用按位“OR”运算符获取的这些值的组合。 例如,如果提供的值为 6,则返回 HealthState 值为 OK (2) 和 Warning (4) 的所有事件。
- 默认值 - 默认值。 匹配任何 HealthState。 值为零。
- None - 与任何 HealthState 值不匹配的筛选器。 用于不返回给定状态集合的结果。 值为 1。
- 确定 - 与 HealthState 值 Ok 匹配输入的筛选器。 值为 2。
- 警告 - 与 HealthState 值 Warning 匹配输入的筛选器。 值为 4。
- 错误 - 与 HealthState 值 Error 匹配输入的筛选器。 值为 8。
- All - 与任何 HealthState 值的输入匹配的筛选器。 值为 65535。
--exclude-health-statistics 指示健康统计数据是否应作为查询结果的一部分返回。 默认情况下为 False。 统计数据显示健康状态为OK、警告和错误的儿童实体数量。
--replicas-health-state-filter 允许筛选分区上 ReplicaHealthState 对象的集合。 可以从 HealthStateFilter 成员的成员或按位操作获取该值。 仅返回与筛选器匹配的副本。 所有副本用于评估聚合的运行状况状态。 如果未指定,则返回所有条目。 状态值是基于标志的枚举,因此该值可以是使用按位“OR”运算符获取的这些值的组合。 例如,如果提供的值为 6,则返回 HealthState 值为 OK (2) 和 Warning (4) 的所有事件。 此参数的可能值包括以下运行状况状态之一的整数值。
- 默认值 - 默认值。 匹配任何 HealthState。 值为零。
- None - 与任何 HealthState 值不匹配的筛选器。 用于不返回给定状态集合的结果。 值为 1。
- 确定 - 与 HealthState 值 Ok 匹配输入的筛选器。 值为 2。
- 警告 - 与 HealthState 值 Warning 匹配输入的筛选器。 值为 4。
- 错误 - 与 HealthState 值 Error 匹配输入的筛选器。 值为 8。
- All - 与任何 HealthState 值的输入匹配的筛选器。 值为 65535。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition info

获取有关服务Fabric分区的信息。

获取有关指定分区的信息。 响应包括分区 ID、分区方案信息、分区支持键、状态、运行状况和其他有关分区的详细信息。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition list

获取服务Fabric服务的分区列表。

响应包括分区 ID、分区方案信息、分区支持键、状态、运行状况和其他有关分区的详细信息。

Arguments

论点 说明
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--continuation-token 延续标记参数用于获取下一组结果。 当系统的结果不适合单个响应时,API 响应中将包含具有无空值的延续令牌。 当此值传递给下一个 API 调用时,API 将返回下一组结果。 如果没有进一步的结果,则继续标记不包含值。 不应对此参数的值进行 URL 编码。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition load

获取指定服务Fabric分区的加载信息。

返回有关指定分区加载的信息。 响应包括服务Fabric分区的负载报告列表。 每个报表均包括 UTC 格式的负载指标名称、值和上次报告时间。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition load-reset

重置服务Fabric分区的当前负载。

将服务Fabric分区的当前负载重置为服务的默认负载。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition quorum-loss

为给定有状态服务分区引入仲裁丢失。

此 API 适用于服务上的临时仲裁丢失情况。 调用具有相同 OperationId 的 GetQuorumLossProgress API,以返回有关使用此 API 启动的操作的信息。 这只能在有状态持久化(HasPersistedState==true)服务上调用。 请勿在无状态服务或仅有状态内存中服务上使用此 API。

Arguments

论点 说明
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--quorum-loss-duration [必需] 分区保持仲裁丢失的时间量。 这必须在秒内指定。
--quorum-loss-mode [必需] 此枚举将传递给 StartQuorumLoss API,以指示要引入的仲裁丢失类型。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition quorum-loss-status

获取使用 StartQuorumLoss API 启动的分区上的仲裁丢失操作的进度。

获取使用提供的 OperationId 以 StartQuorumLoss 开头的仲裁丢失操作的进度。

Arguments

论点 说明
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition recover

向服务Fabric群集指示它应尝试恢复当前停滞在仲裁丢失中的特定分区。

仅当已知无法恢复关闭的副本时,才应执行此操作。 使用此 API 不正确可能会导致潜在的数据丢失。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition recover-all

向服务Fabric群集指示,它应尝试恢复当前停滞在仲裁丢失中的任何服务(包括系统服务)。

仅当已知无法恢复关闭的副本时,才应执行此操作。 使用此 API 不正确可能会导致潜在的数据丢失。

Arguments

论点 说明
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition report-health

在服务Fabric分区上发送运行状况报告。

报告指定服务Fabric分区的运行状况状态。 报告必须包含有关其报告的运行状况报告源和属性的信息。 报告将发送到服务Fabric网关分区,该分区将转发到运行状况存储。 网关可能接受报告,但在进行额外验证后,运行状况存储会拒绝该报告。 例如,运行状况存储可能会因为参数无效而拒绝报告,例如过时的序列号。 若要查看报表是否在运行状况存储中应用,请检查该报表是否显示在“事件”部分中。

Arguments

论点 说明
--health-property [必需] 运行状况信息的属性。

实体可以具有不同属性的运行状况报告。 该属性是一个字符串,而不是固定枚举,使记者能够灵活地对触发报表的状态条件进行分类。 例如,具有 SourceId“LocalWatchdog”的记者可以监视节点上可用磁盘的状态,以便它可以报告该节点上的“AvailableDisk”属性。 同一记者可以监视节点连接,因此它可以报告同一节点上的属性“Connectivity”。 在运行状况存储中,这些报告被视为指定节点的单独运行状况事件。 属性与 SourceId 一起唯一标识运行状况信息。
--health-state [必需] 可能的值包括:“Invalid”、“Ok”、“Warning”、“Error”、“Unknown”。
--partition-id [必需] 分区的标识。
--source-id [必需] 标识生成运行状况信息的客户端/监视器/系统组件的源名称。
--描述 运行状况信息的说明。

它表示用于添加有关报表的人工可读信息的自由文本。 说明的最大字符串长度为 4,096 个字符。 如果提供的字符串较长,则会自动截断该字符串。 截断时,说明的最后一个字符包含标记“[截断]”,总字符串大小为 4,096 个字符。 标记的存在表示用户发生了截断。 截断时,说明的原始字符串中少于 4,096 个字符。
--立即 指示是否应立即发送报表的标志。

运行状况报告将发送到服务Fabric网关应用程序,该应用程序将转发到运行状况存储。 如果“立即”设置为 true,则无论 HTTP 网关应用程序使用的构造客户端设置如何,报表都会立即从 HTTP 网关发送到运行状况存储。 这对于应尽快发送的关键报告非常有用。 根据计时和其他条件,发送报告可能仍然失败,例如,如果 HTTP 网关已关闭或消息未到达网关。 如果“即时”设置为 false,则根据 HTTP 网关中的运行状况客户端设置发送报告。 因此,它根据 HealthReportSendInterval 配置进行批处理。 这是建议的设置,因为它允许运行状况客户端优化运行状况报告消息到运行状况存储以及运行状况报告处理。 默认情况下,不会立即发送报表。
--remove-when-expired 指示报表在过期时是否从运行状况存储中删除的值。

如果设置为 true,则报告在过期后会从运行状况存储中删除。 如果设置为 false,则报告在过期时被视为错误。 此属性的值默认为 false。 客户端定期报告时,应设置 RemoveWhenExpired false (默认值)。 这样,如果记者有问题(例如死锁),并且无法报告,则当运行状况报告过期时,会以错误方式评估实体。 这会将实体标记为处于错误运行状况状态。
--sequence-number 此运行状况报告的序列号作为数字字符串。

运行状况存储使用报表序列号来检测过时的报告。 如果未指定,则添加报表时,运行状况客户端自动生成序列号。
--timeout -t 默认值:60。
--ttl 此运行状况报告有效的持续时间。 此字段使用ISO8601格式来指定持续时间。

客户端定期报告时,应发送频率高于生存时间的报告。 如果客户端报告转换情况,则可以将生存时间设置为无限。 生存时间过期时,如果 RemoveWhenExpired 为 true,则从运行状况存储中删除包含运行状况信息的运行状况事件;如果 RemoveWhenExpired 为 false,则以错误方式进行评估。 如果未指定,生存时间默认为无限值。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition restart

此 API 重启指定分区的某些或所有副本或实例。

此 API 可用于测试故障转移。 如果用于面向无状态服务分区,则 RestartPartitionMode 必须为 AllReplicasOrInstances。 使用相同的 OperationId 调用 GetPartitionRestartProgress API 以获取进度。

Arguments

论点 说明
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--restart-partition-mode [必需] 描述要重启的分区。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition restart-status

获取使用 StartPartitionRestart 启动的 PartitionRestart 操作的进度。

获取使用提供的 OperationId 以 StartPartitionRestart 开头的 PartitionRestart 的进度。

Arguments

论点 说明
--operation-id [必需] 标识此 API 调用的 GUID。 这会传递到相应的 GetProgress API。
--partition-id [必需] 分区的标识。
--service-id [必需] 服务的标识。 此 ID 通常是不带“fabric:”URI 方案的服务的全名。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果服务名称为“fabric:/myapp/app1/svc1”,则 6.0+ 中的服务标识将为“myapp~app1~svc1”,在以前的版本中为“myapp/app1/svc1”。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

sfctl partition svc-name

获取分区的服务Fabric服务的名称。

获取指定分区的服务的名称。 如果群集中不存在分区 ID,则返回 404 错误。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

论点 说明
--debug 提高日志记录详细程度以显示所有调试日志。
--help -h 显示此帮助消息并退出。
--output -o 输出格式。 允许的值:json、jsonc、table、tsv。 默认值:json。
--查询 JMESPath 查询字符串。 有关详细信息和示例,请参阅 https://jmespath.org/
--verbose 增加日志记录详细程度。 使用 --debug 获取完整的调试日志。

后续步骤

  • Setup Service Fabric CLI。
  • 了解如何使用 sample 脚本使用 Service Fabric CLI。