更新已保存对象的 Spaces API
编辑更新已保存对象的 Spaces API编辑
[预览] 此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力修复任何问题,但技术预览版中的功能不受官方 GA 功能的支持服务水平协议 (SLA) 的约束。 更新已保存对象的 Spaces。
更新一个或多个已保存对象,以将它们添加和/或从指定的 Spaces 中删除。
请求编辑
POST <kibana 主机>:<端口>/api/spaces/_update_objects_spaces
请求正文编辑
-
objects
-
(必需,对象数组)要更新的已保存对象。
objects
的属性-
type
- (必需,字符串)已保存对象的类型。
-
id
- (必需,字符串)已保存对象的 ID。
-
-
spacesToAdd
- (必需,字符串数组)应将指定对象添加到其中的 Spaces 的 ID。
-
spacesToRemove
- (必需,字符串数组)应从中删除指定对象的 Spaces 的 ID。
响应正文编辑
-
objects
-
(对象数组)已更新的已保存对象。
objects
的属性-
type
- (字符串)已保存对象的类型。
-
id
- (字符串)已保存对象的 ID。
-
spaces
- (字符串数组)引用的已保存对象所在的 Space。
-
errors
- (字符串)如果在更新此对象的 Spaces 时出错,则包含此项。
-
示例编辑
共享已保存的对象编辑
要以编程方式将已保存的对象共享到 Space,请按照以下步骤操作
-
使用 获取可共享引用 API 收集要共享的每个已保存对象的引用图和 Spaces 上下文
$ curl -X POST /api/spaces/_get_shareable_references { "objects": [ { "type": "index-pattern", "id": "90943e30-9a47-11e8-b64d-95841ca0b247" } ] }
API 返回以下内容
{ "objects": [ { "type": "index-pattern", "id": "90943e30-9a47-11e8-b64d-95841ca0b247", "spaces": ["default"], "inboundReferences": [], "spacesWithMatchingOrigins": ["default"] } ] }
-
检查每个已保存对象的
spacesWithMatchingOrigins
冲突。不应将对象共享到具有匹配来源的 Spaces,否则将创建 URL 冲突(导致相同的 URL 指向不同的已保存对象)。
-
检查每个已保存对象的
spacesWithMatchingAliases
冲突。如果这些与将共享这些已保存对象的 Space 匹配,则应使用 禁用旧版 URL 别名 API 为它们禁用旧版 URL 别名。
共享到所有 Spaces (
*
) 时,应检查spacesWithMatchingAliases
中的所有条目。 -
更新每个已保存对象及其所有引用的 Spaces
$ curl -X POST /api/spaces/_update_objects_spaces { "objects": [ { "type": "index-pattern", "id": "90943e30-9a47-11e8-b64d-95841ca0b247" } ], "spacesToAdd": ["test"], "spacesToRemove": [] }
API 返回以下内容
{ "objects": [ { "type": "index-pattern", "id": "90943e30-9a47-11e8-b64d-95841ca0b247", "spaces": ["default", "test"] } ] }