共用方式為

sfctl 副本

管理属于服务分区的副本。

指令

命令 说明
deployed 获取在服务Fabric节点上部署的副本的详细信息。
deployed-list 获取在服务Fabric节点上部署的副本列表。
健康状况 获取服务Fabric有状态服务副本或无状态服务实例的运行状况。
信息 获取有关服务Fabric分区的副本的信息。
列表 获取有关服务Fabric服务分区的副本的信息。
删除 删除在节点上运行的服务副本。
report-health 在服务Fabric副本上发送运行状况报告。
重启 重启节点上运行的持久化服务的服务副本。

已部署 sfctl replica

获取在服务Fabric节点上部署的副本的详细信息。

获取在服务Fabric节点上部署的副本的详细信息。 信息包括服务类型、服务名称、当前服务操作、当前服务操作开始日期时间、分区 ID、副本/实例 ID、报告加载和其他信息。

Arguments

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

全局参数

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

sfctl replica deployed-list

获取在服务Fabric节点上部署的副本列表。

获取包含有关服务Fabric节点上部署的副本的信息的列表。 这些信息包括分区 ID、副本 ID、副本状态、服务名称、服务类型的名称和其他信息。 使用 PartitionId 或 ServiceManifestName 查询参数返回与这些参数的指定值匹配的已部署副本的相关信息。

Arguments

论点 说明
--application-id [必需] 应用程序的标识。 这通常是没有“fabric:”URI 方案的应用程序的完整名称。 从版本 6.0 开始,分层名称以“~”字符分隔。 例如,如果应用程序名称为“fabric:/myapp/app1”,则应用程序标识为 6.0+ 中的“myapp~app1”,在以前的版本中为“myapp/app1”。
--node-name [必需] 节点的名称。
--partition-id 分区的标识。
--service-manifest-name 服务Fabric群集中作为应用程序类型的一部分注册的服务清单的名称。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

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

sfctl replica health

获取服务Fabric有状态服务副本或无状态服务实例的运行状况。

获取服务Fabric副本的运行状况。 使用 EventsHealthStateFilter 根据运行状况筛选针对副本报告的运行状况事件的集合。

Arguments

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

全局参数

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

sfctl replica info

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

响应包括 ID、角色、状态、运行状况、节点名称、运行时间以及有关副本的其他详细信息。

Arguments

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

全局参数

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

sfctl replica list

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

GetReplicas 终结点返回有关指定分区的副本的信息。 响应包括 ID、角色、状态、运行状况、节点名称、运行时间以及有关副本的其他详细信息。

Arguments

论点 说明
--partition-id [必需] 分区的标识。
--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 replica remove

删除在节点上运行的服务副本。

此 API 通过从服务Fabric群集中删除副本来模拟服务Fabric副本故障。 删除会关闭副本,将副本转换为“无”角色,然后从群集中删除副本的所有状态信息。 此 API 测试副本状态删除路径,并通过客户端 API 模拟报告错误永久路径。 警告 - 使用此 API 时没有执行安全检查。 使用此 API 不正确可能会导致有状态服务数据丢失。 此外,forceRemove 标志会影响在同一进程中托管的所有其他副本。

Arguments

论点 说明
--node-name [必需] 节点的名称。
--partition-id [必需] 分区的标识。
--replica-id [必需] 副本的标识符。
--force-remove 在不经过正常关闭序列的情况下,强制删除服务Fabric应用程序或服务。 此参数可用于强制删除因服务代码中阻止正常关闭副本的服务问题而删除删除的应用程序或服务。
--timeout -t 执行作时服务器超时只需几秒。 该超时规定客户端愿意等待请求作完成的时间长度。 该参数的默认值为60秒。 默认值:60。

全局参数

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

sfctl replica report-health

在服务Fabric副本上发送运行状况报告。

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

Arguments

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

实体可以具有不同属性的运行状况报告。 该属性是一个字符串,而不是固定枚举,使记者能够灵活地对触发报表的状态条件进行分类。 例如,具有 SourceId“LocalWatchdog”的记者可以监视节点上可用磁盘的状态,以便它可以报告该节点上的“AvailableDisk”属性。 同一记者可以监视节点连接,因此它可以报告同一节点上的属性“Connectivity”。 在运行状况存储中,这些报告被视为指定节点的单独运行状况事件。 属性与 SourceId 一起唯一标识运行状况信息。
--health-state [必需] 可能的值包括:“Invalid”、“Ok”、“Warning”、“Error”、“Unknown”。
--partition-id [必需] 分区的标识。
--replica-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 此运行状况报告的序列号作为数字字符串。

运行状况存储使用报表序列号来检测过时的报告。 如果未指定,则添加报表时,运行状况客户端自动生成序列号。
--service-kind 报告运行状况的服务副本类型(无状态或有状态)。 以下是可能的值:“无状态”、“有状态”。 默认值:有状态。
--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 replica restart

重启节点上运行的持久化服务的服务副本。

重启节点上运行的持久化服务的服务副本。 警告 - 使用此 API 时没有执行安全检查。 使用此 API 不正确可能会导致有状态服务的可用性丢失。

Arguments

论点 说明
--node-name [必需] 节点的名称。
--partition-id [必需] 分区的标识。
--replica-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。