工具:get_flag_revision
获取 FlagRevision 资源。必需参数:“name”(例如 projects/my-project/locations/us-central1/flagRevisions/my-flagrevision)。
以下示例演示了如何使用 curl 调用 get_flag_revision MCP 工具。
| Curl 请求 |
|---|
curl --location 'https://saasservicemgmt.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_flag_revision", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
输入架构
GetFlagRevision 方法的请求结构。
GetFlagRevisionRequest
| JSON 表示法 |
|---|
{ "name": string } |
| 字段 | |
|---|---|
name |
必需。服务内资源的名称。 |
输出架构
Flag的EvaluationSpec的快照。
FlagRevision
| JSON 表示法 |
|---|
{ "name": string, "flag": string, "evaluationSpec": { object ( |
| 字段 | |
|---|---|
name |
标识符。遵循标准命名方案的资源名称(资源的完整 URI): "projects/{project}/locations/{location}/flagRevisions/{flag_revision_id}" |
flag |
|
evaluationSpec |
仅限输出。不可变。 |
snapshot |
仅限输出。不可变。 |
labels |
可选。资源上的标签,可用于分类。与 Kubernetes 资源标签类似。 包含一系列 |
annotations |
可选。注解是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。 如需了解详情,请参阅 https://kubernetes.io/docs/user-guide/annotations 包含一系列 |
uid |
仅限输出。资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。 |
etag |
仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。 |
createTime |
仅限输出。创建资源时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
EvaluationSpec
| JSON 表示法 |
|---|
{ "variants": [ { object ( |
| 字段 | |
|---|---|
variants[] |
可选。变体的列表。 |
defaultTarget |
必需。标志的默认变体或分配。 |
allocations[] |
可选。分配列表。 |
rules[] |
可选。评估规则定义了根据给定上下文评估标志的逻辑。系统会按指定顺序依次评估规则。 |
attributes[] |
可选。评估规则和分配中使用的上下文属性的名称。 |
变体
| JSON 表示法 |
|---|
{ "name": string, // Union field |
| 字段 | |
|---|---|
name |
必需。变体的名称。长度上限:128 字节。 |
联合字段 value。value 是变体的单个标志值。value 只能是下列其中一项: |
|
boolValue |
可选。布尔值标志值。 |
intValue |
可选。整数标志值。 |
stringValue |
可选。字符串标志值。 |
doubleValue |
可选。双精度标志值。 |
分配
| JSON 表示法 |
|---|
{
"id": string,
"randomizedOn": string,
"description": string,
"slots": [
{
object ( |
| 字段 | |
|---|---|
id |
必需。分配 ID。长度上限:128 字节。 |
randomizedOn |
必需。用于流量拆分的上下文属性的键。 |
description |
可选。分配的说明。长度上限:500 字节。 |
slots[] |
必需。Slot 定义了变体的加权分布。 |
AllocationSlot
| JSON 表示法 |
|---|
{ "variant": string, "weight": integer } |
| 字段 | |
|---|---|
variant |
必需。分配槽的变体。 |
weight |
必需。权重用于定义要分配给相应变体的流量比例,相对于同一分配中的其他广告资源而言。 |
EvaluationRule
| JSON 表示法 |
|---|
{ "id": string, "condition": string, "target": string } |
| 字段 | |
|---|---|
id |
必需。评估规则 ID。长度上限:128 字节。 |
condition |
必需。计算结果为布尔值的通用表达式语言 (CEL) 表达式。系统会根据提供的上下文评估表达式。如果返回 true,则应用相应规则的目标。 |
target |
必需。如果满足条件,要应用的目标变体或分配。此值应与已定义的变体或分配的 ID 一致。 |
标志
| JSON 表示法 |
|---|
{ "name": string, "key": string, "valueType": enum ( |
| 字段 | |
|---|---|
name |
标识符。遵循标准命名方案的资源名称(资源的完整 URI): "projects/{project}/locations/{location}/flags/{flag_id}" |
key |
必需。不可变。运行时评估 API (OpenFeature) 中使用的标志键。长度上限:256 字节。 |
valueType |
可选。不可变。已弃用:请改用 |
flagValueType |
可选。不可变。标志值类型。 |
evaluationSpec |
可选。有关如何评估标志值的规范。 如果创建的布尔值标志未指定 evaluation_spec,系统会默认创建两个变体:“已启用”(bool_value = true)和“已停用”(bool_value = false),并将“已停用”设置为 default_target。 |
unitKind |
必需。不可变。 |
description |
可选。标志的说明。长度上限:500 字节。 |
variants[] |
可选。变体的列表。 |
flagSet |
可选。相应标志所属的标志集。 |
state |
可选。标志的当前状态。 |
labels |
可选。资源上的标签,可用于分类。与 Kubernetes 资源标签类似。 包含一系列 |
annotations |
可选。注解是与资源一起存储的非结构化键值对映射,可由外部工具设置,用于存储和检索任意元数据。它们无法查询,并且在修改对象时应予以保留。 如需了解详情,请参阅 https://kubernetes.io/docs/user-guide/annotations 包含一系列 |
uid |
仅限输出。资源的唯一标识符。在服务范围内,UID 在此资源的时间和空间内是唯一的。它通常是服务器在成功创建资源时生成的,不得进行更改。当存在资源名称重用时,UID 可用来唯一地标识资源。此字段应为 UUID4。 |
etag |
仅限输出。不透明值,用于唯一地标识资源的版本或世代。它可用于确认客户端和服务器是否就正在写入的资源的顺序达成一致。 |
createTime |
仅限输出。创建资源时的时间戳。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
updateTime |
仅限输出。上次更新资源时的时间戳。用户对此资源的任何更改都必须刷新此值。服务对资源的更改应刷新此值。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
FlagVariant
| JSON 表示法 |
|---|
{ "id": string, "trackingId": string, "description": string, // Union field |
| 字段 | |
|---|---|
id |
必需。变体 ID。长度上限:128 字节。 |
trackingId |
可选。trackingId 在服务范围内是唯一的,具体取决于变体的名称和值。它通常由服务器生成,不得进行更改。trackingId 用于唯一标识和跟踪变体。 |
description |
可选。此变体的功能或代表的含义的人类可读说明。 |
联合字段 value。value 是变体的单个标志值。value 只能是下列其中一项: |
|
booleanValue |
可选。布尔值变体。 |
integerValue |
可选。整数变体值。 |
stringValue |
可选。字符串变体值。 |
doubleValue |
可选。双精度变体值。 |
LabelsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
时间戳
| JSON 表示法 |
|---|
{ "seconds": string, "nanos": integer } |
| 字段 | |
|---|---|
seconds |
表示世界协调时间 (UTC) 的秒数(从 Unix 纪元 1970-01-01T00:00:00Z 开始算起)。必须介于 -62135596800 到 253402300799 之间(含边界值),对应于 0001-01-01T00:00:00Z 到 9999-12-31T23:59:59Z。 |
nanos |
秒数的非负小数部分(以纳秒为单位)。此字段是时长的纳秒部分,而不是秒的替代项。对于含小数部分的负秒数,仍必须包含按时间递升的非负纳秒值。必须在 0 到 999,999,999 之间(含边界值)。 |
LabelsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
AnnotationsEntry
| JSON 表示法 |
|---|
{ "key": string, "value": string } |
| 字段 | |
|---|---|
key |
|
value |
|
工具注解
破坏性提示:❌ | 等幂性提示:✅ | 只读提示:✅ | 开放世界提示:❌