创建或更新工件

版本 4.0.23.4

创建或更新一个或多个工件

创建工件只需使用 keyvalue。如需更新工件,必须提供其当前的 version 值。

在以下示例中,body 载荷 onetwo 是现有工件,而 three 是新工件。

[
  { "key": "one", "value": "[ \"updating\", \"existing\", \"one\" ]", "version": 10, "content_type": "application/json" },
  { "key": "two", "value": "updating existing two", "version": 20 },
  { "key": "three", "value": "creating new three" },
]

正文说明:

  • key一个 value 是一个 JSON 载荷,因此需要 content_type 替换值。每次设置 JSON 值时,都必须执行此替换。
  • 12version 值分别表示保存了 10 次和 20 次。
  • 如果没有为现有工件提供 version,则系统会拒绝整个请求,并发送 Bad Request 响应。
  • 如果为工件提供了 version,则该工件仅用于帮助防止意外覆盖数据。它不能用于设置工件的版本。Looker 服务器控制 version
  • 我们建议将二进制值编码为 base64。由于 base64 的 MIME 内容类型被检测为纯文本,因此还应提供 content_type,以正确指明相应值的类型以用于检索和客户端处理。

由于工件是以加密方式存储的,因此可以多次写入相同的值(前提是使用了正确的 version 编号)。Looker 不会检查存储在工件存储区中的任何值,而是仅在通过 API 响应发送工件时进行解密。

注意:Artifact Storage API 只能由 Looker 构建的扩展程序使用。

请求

PUT /artifacts/{namespace}
数据类型
说明
请求
HTTP 请求
路径
HTTP 路径
展开 HTTPPath 定义...
命名空间
字符串
工件存储空间命名空间
body
HTTP 正文
展开 HTTPBody 定义...
展开 UpdateArtifact 定义...
密钥
字符串
要存储的键值对。命名空间 + 键必须是唯一的。
字符串
要存储的值。
content_type
字符串
内容的 MIME 类型。此属性只能用于替换检测到的文本/纯文本内容。需要设置 application/json 内容类型(分析为纯文本)。
version
整数
所存储值的版本号。对于现有工件的任何更新,必须提供此版本。
查询
HTTPQuery
展开 HTTPQuery 定义...
字段
字符串
要在响应中返回的字段的名称(以英文逗号分隔)。省略所有字段

响应

200:创建或更新工件

数据类型
说明
(数组)
密钥
字符串
要存储的键值对。命名空间 + 键必须是唯一的。
字符串
要存储的值。
content_type
字符串
内容的 MIME 类型。此属性只能用于替换检测到的文本/纯文本内容。需要设置 application/json 内容类型(分析为纯文本)。
version
整数
所存储值的版本号。对于现有工件的任何更新,必须提供此版本。
命名空间
字符串
工件存储命名空间。
创建时间
字符串
此工件创建时的时间戳。
更新时间
字符串
此工件更新时的时间戳。
value_size
整数
存储值的大小(以字节为单位)。
创建用户 ID
字符串
工件创建者的用户 ID。
更新的用户 ID
字符串
工件更新程序的用户 ID。

400:错误请求

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接

404:未找到

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接

422:验证错误

数据类型
说明
(对象)
消息
字符串
错误详情
展开 ValidationErrorDetail 定义...
字段
字符串
出错的字段
代码
字符串
错误代码
消息
字符串
错误信息消息
文档网址
字符串
文档链接
文档网址
字符串
文档链接

429:请求数过多

数据类型
说明
(对象)
消息
字符串
错误详情
文档网址
字符串
文档链接