The documentation you are viewing is for Dapr v1.12 which is an older version of Dapr. For up-to-date documentation, see the latest version.
Metadata API 参考文档
Dapr 有一个 metadata API,它返回有关 sidecar 的信息,从而实现运行时可发现性。 元数据端点返回加载的组件和激活的 Actors(如果存在)的列表。
Dapr metadata API 还允许您以键值对的格式存储其他信息。
注意:Dapr CLI 在独立模式下运行 dapr 时,Dapr 元数据端点用于存储托管 sidecar 的进程的 PID 和用于运行应用程序的命令。
获取 Dapr sidecar 信息
获取元数据端点提供的 Dapr sidecar 信息。
HTTP 请求
GET http://localhost:<daprPort>/v1.0/metadata
URL 参数
参数 | 说明 |
---|---|
daprPort | Dapr 端口。 |
HTTP 响应码
代码 | 说明 |
---|---|
200 | 返回的元数据信息 |
500 | Dapr 无法返回元数据信息 |
HTTP 响应正文
元数据 API 响应对象
Name | 数据类型 | 说明 |
---|---|---|
id | string | 应用 ID |
actor | Metadata API Response Registered Actor[] | 已注册 Actor 与元数据的 json 编码数组。 |
extended.attributeName | string | 作为键值对的自定义属性列表,其中 key 是属性名称。 |
组件 | Metadata API Response Component[] | 加载的组件元数据的 json 编码数组。 |
Metadata API Response Registered Actor
Name | 数据类型 | 说明 |
---|---|---|
type | string | 已注册的 Actor 组件类型。 |
count | integer | 运行的 Actor 数量。 |
Metadata API Response Component
Name | 数据类型 | 说明 |
---|---|---|
name | string | 组件名称. |
type | string | 组件类型。 |
version | string | 组件版本。 |
示例
注意:此示例基于适用于 Python的Dapr SDK 中提供的 Actor 示例。
curl http://localhost:3500/v1.0/metadata
{
"id":"demo-actor",
"actors":[
{
"type":"DemoActor",
"count":1
}
],
"extended": {
"cliPID":"1031040",
"appCommand":"uvicorn --port 3000 demo_actor_service:app"
},
"components":[
{
"name":"pubsub",
"type":"pubsub.redis",
"version":""
},
{
"name":"statestore",
"type":"state.redis",
"version":""
}
]
}
将自定义属性添加到 Dapr sidecar 信息中
将自定义属性添加到元数据终结点存储的 Dapr sidecar 信息中。
HTTP 请求
PUT http://localhost:<daprPort>/v1.0/metadata/attributeName
URL 参数
参数 | 说明 |
---|---|
daprPort | Dapr 端口。 |
attributeName | 自定义属性名称. 这是键值对中的键名。 |
HTTP 请求正文
在请求中,您需要将自定义属性值作为 RAW 数据传递:
{
"Content-Type": "text/plain"
}
在请求正文中放置要存储的自定义属性值:
attributeValue
HTTP 响应码
代码 | 说明 |
---|---|
204 | 自定义属性添加到元数据信息中 |
示例
注意:此示例基于适用于 Python的 Dapr SDK 中提供的 Actor 示例。
将自定义属性添加到元数据终结点:
curl -X PUT -H "Content-Type: text/plain" --data "myDemoAttributeValue" http://localhost:3500/v1.0/metadata/myDemoAttribute
获取元数据信息以确认已添加自定义属性:
{
"id":"demo-actor",
"actors":[
{
"type":"DemoActor",
"count":1
}
],
"extended": {
"myDemoAttribute": "myDemoAttributeValue",
"cliPID":"1031040",
"appCommand":"uvicorn --port 3000 demo_actor_service:app"
},
"components":[
{
"name":"pubsub",
"type":"pubsub.redis",
"version":""
},
{
"name":"statestore",
"type":"state.redis",
"version":""
}
]
}
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.