版本 4.0.23.2
创建或更新一个或多个工件
创建工件只需使用 key
和 value
。如需更新工件,必须提供其当前的 version
值。
在以下示例中,body
载荷 one
和 two
是现有工件,而 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 值时,都必须执行此替换。- 1 和 2 的
version
值分别表示保存了 10 次和 20 次。 - 如果没有为现有工件提供
version
,则系统会拒绝整个请求,并发送Bad Request
响应。 - 如果为工件提供了
version
,则该工件仅用于帮助防止意外覆盖数据。它不能用于设置工件的版本。Looker 服务器控制version
。 - 我们建议将二进制值编码为 base64。由于 base64 的 MIME 内容类型被检测为纯文本,因此还应提供
content_type
,以正确指明相应值的类型以用于检索和客户端处理。
由于工件是以加密方式存储的,因此可以多次写入相同的值(前提是使用了正确的 version
编号)。Looker 不会检查存储在工件存储区中的任何值,而是仅在通过 API 响应发送工件时进行解密。
注意:Artifact Storage API 只能由 Looker 构建的扩展程序使用。
请求
PUT
/artifacts/{namespace}
数据类型
说明
请求
路径
展开 HTTPPath 定义...
命名空间
工件存储空间命名空间
body
展开 HTTPBody 定义...
body
展开 UpdateArtifact 定义...
密钥
要存储的键值对。命名空间 + 键必须是唯一的。
值
要存储的值。
content_type
内容的 MIME 类型。此属性只能用于替换检测到的文本/纯文本内容。需要设置 application/json 内容类型(分析为纯文本)。
version
lock
所存储值的版本号。对于现有工件的任何更新,必须提供此版本。
查询
展开 HTTPQuery 定义...
字段
要在响应中返回的字段的名称(以英文逗号分隔)。省略所有字段
响应
200:创建或更新工件
数据类型
说明
(数组)
密钥
要存储的键值对。命名空间 + 键必须是唯一的。
值
要存储的值。
content_type
内容的 MIME 类型。此属性只能用于替换检测到的文本/纯文本内容。需要设置 application/json 内容类型(分析为纯文本)。
version
lock
所存储值的版本号。对于现有工件的任何更新,必须提供此版本。
命名空间
lock
工件存储命名空间。
创建时间
lock
此工件创建时的时间戳。
更新时间
lock
此工件更新时的时间戳。
value_size
lock
存储值的大小(以字节为单位)。
创建用户 ID
lock
工件创建者的用户 ID。
更新的用户 ID
lock
工件更新程序的用户 ID。
400:错误请求
数据类型
说明
(对象)
消息
lock
错误详情
文档网址
lock
文档链接
404:未找到
数据类型
说明
(对象)
消息
lock
错误详情
文档网址
lock
文档链接
422:验证错误
数据类型
说明
(对象)
消息
lock
错误详情
错误
展开 ValidationErrorDetail 定义...
字段
lock
出错的字段
代码
lock
错误代码
消息
lock
错误信息消息
文档网址
lock
文档链接
文档网址
lock
文档链接
429:请求数过多
数据类型
说明
(对象)
消息
lock
错误详情
文档网址
lock
文档链接