数据库
/api/database 端点。
DELETE /api/database/:id
删除一个 数据库
。
执行此操作必须为超级用户。
参数
id
值必须是一个大于零的整数。
GET /api/database/
获取所有 数据库
。
-
include=tables
表示我们应该加载数据库所属的表格。默认:false
。 -
saved
表示我们应该包括已保存的问题虚拟数据库。默认:false
。 -
include_editable_data_model
只包括当前用户具有数据模型编辑权限的数据库。 (如果include=tables
,这同样适用于每个数据库中的表格列表)。仅在企业版代码可用且高级权限功能已启用时使用。 -
exclude_uneditable_details
只包括当前用户可以编辑的数据库详情的数据库。只有在企业版代码可用且高级权限功能已启用时才有作用。 -
include_only_uploadable
只包括 Metabase 可以插入新数据的数据库。
独立于这些标志,[[metabase.models.interface/to-json]] 在 [[metabase.models.database]] 中对 :model/Database
的实现使用 [[metabase.models.interface/can-write?]] 在 [[metabase.models.database]] 中对 :model/Database
的实现来排除 details
字段,如果请求的用户没有更改数据库详情的权限。
参数
-
include
必须是空或tables
的值。 -
saved
可空布尔值。 -
include_editable_data_model
可空布尔值。 -
exclude_uneditable_details
可空布尔值。 -
include_only_uploadable
可空布尔值。 -
include_analytics
可空布尔值。
GET /api/database/:id
获取一个具有 id
的单个数据库。可选地传递 ?include=tables
或 ?include=tables.fields
以包含属于此数据库的表格,或表格和字段。如果请求者具有对数据库的写入权限(即管理员或具有数据模型权限),则返回的详细信息中还将包含某些推断的机密值(有关详细信息,请参阅 [[metabase.models.secret/expand-db-details-inferred-secret-values]])。
传递 include_editable_data_model 仅返回当前用户具有数据模型编辑权限的表格,如果企业版代码可用且存在具有高级权限功能的令牌。此外,如果用户没有对数据库的数据访问权限(即阻止权限),它将仅返回数据库名称、ID 和表格,而不包含其他元数据。
独立于这些标志,[[metabase.models.interface/to-json]] 在 [[metabase.models.database]] 中对 :model/Database
的实现使用 [[metabase.models.interface/can-write?]] 在 [[metabase.models.database]] 中对 :model/Database
的实现来排除 details
字段,如果请求的用户没有更改数据库详情的权限。
参数
-
id
值必须是一个大于零的整数。 -
include
可空枚举为 tables, tables.fields。 -
include_editable_data_model
-
exclude_uneditable_details
GET /api/database/:id/autocomplete_suggestions
返回给定 prefix
或 substring
的自动完成建议列表。应指定一个,但如果两者都存在,则 substring
将具有优先级。
此功能适用于ACE编辑器,当用户输入原始SQL时使用。建议包括在当前数据库
中匹配表
和字段
。
表以格式[表名 "Table"]
返回;当字段具有语义类型时,以格式[字段名 "表名 基类型 语义类型"]
返回;当字段没有语义类型时,以格式[字段名 "表名 基类型"]
返回。
参数
-
id
值必须是一个大于零的整数。 -
prefix
的可空值必须是非空字符串。 -
substring
的可空值必须是非空字符串。
GET /api/database/:id/card_autocomplete_suggestions
为给定数据库
中的查询
返回一个卡片
自动完成建议列表。
此功能适用于ACE编辑器,当用户在卡片
的模板标签中输入时使用,例如。
参数
-
id
值必须是一个大于零的整数。 -
query
的值必须是非空字符串。
GET /api/database/:id/fields
获取数据库
中所有字段
的列表。
参数
id
值必须是一个大于零的整数。
GET /api/database/:id/idfields
获取数据库
中所有主键字段
的列表。
参数
-
id
值必须是一个大于零的整数。 -
include_editable_data_model
GET /api/database/:id/metadata
获取有关数据库
的元数据,包括其所有表
和字段
。返回DB、字段和字段值。默认情况下,仅返回非隐藏表和字段。传递include_hidden=true时包括它们。
传递 include_editable_data_model 仅返回当前用户具有数据模型编辑权限的表格,如果企业版代码可用且存在具有高级权限功能的令牌。此外,如果用户没有对数据库的数据访问权限(即阻止权限),它将仅返回数据库名称、ID 和表格,而不包含其他元数据。
参数
-
id
值必须是一个大于零的整数。 -
include_hidden
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
include_editable_data_model
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
remove_inactive
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
skip_fields
的可空值必须是一个有效的布尔字符串('true'或'false')。
GET /api/database/:id/schema/
返回一个数据库列表,其架构
为nil
或空字符串。
参数
-
id
值必须是一个大于零的整数。 -
include_hidden
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
include_editable_data_model
的可空值必须是一个有效的布尔字符串('true'或'false')。
GET /api/database/:id/schema/:schema
返回给定数据库id
和架构
的表列表。
参数
-
id
值必须是一个大于零的整数。 -
include_hidden
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
include_editable_data_model
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
架构
GET /api/database/:id/schemas
返回数据库id
中找到的所有架构及其表列表。排除没有表的架构。
参数
-
id
值必须是一个大于零的整数。 -
include_editable_data_model
的可空值必须是一个有效的布尔字符串('true'或'false')。 -
include_hidden
的可空值必须是一个有效的布尔字符串('true'或'false')。
GET /api/database/:id/syncable_schemas
返回数据库id
中找到的所有可同步架构列表。
参数
id
值必须是一个大于零的整数。
GET /api/database/:id/usage_info
获取数据库的使用信息。返回一个包含模型作为键和该数据库使用的实体数量作为值的映射。
执行此操作必须为超级用户。
参数
id
值必须是一个大于零的整数。
GET /api/database/:virtual-db/datasets
返回为保存的问题虚拟数据库找到的所有数据集列表。
GET /api/database/:virtual-db/datasets/:schema
返回虚拟数据库数据集的表格列表。
参数
架构
GET /api/database/:virtual-db/metadata
提供保存问题“虚拟”数据库元数据的端点。用于欺骗前端,使其能够像处理任何其他数据库一样处理保存问题的虚拟数据库。
GET /api/database/:virtual-db/schema/:schema
返回保存问题的虚拟数据库的表格列表。
参数
架构
GET /api/database/:virtual-db/schemas
返回为保存问题的虚拟数据库找到的所有架构列表。
POST /api/database/
添加一个新的数据库
。
执行此操作必须为超级用户。
参数
-
engine
值必须是有效的数据库引擎。 -
schedules
可空值必须是DB的调度映射的有效映射。 -
connection_source
可空枚举为:admin, :setup。 -
auto_run_queries
可空布尔值。 -
name
值必须是非空字符串。 -
is_full_sync
可空值必须是有效的布尔字符串('true'或'false')。 -
cache_ttl
可空值必须是一个大于零的整数。 -
details
值必须是映射。 -
is_on_demand
可空值必须是有效的布尔字符串('true'或'false')。
POST /api/database/:id/discard_values
丢弃此数据库
的所有已保存字段值。
参数
id
值必须是一个大于零的整数。
POST /api/database/:id/dismiss_spinner
手动设置数据库
及其对应表的初始同步状态为完成
(见#20863)。
参数
id
值必须是一个大于零的整数。
POST /api/database/:id/persist
尝试为数据库启用模型持久性。如果已经启用,则返回通用的204。
参数
id
值必须是一个大于零的整数。
POST /api/database/:id/rescan_values
触发对此数据库
字段值的手动扫描。
参数
id
值必须是一个大于零的整数。
POST /api/database/:id/sync_schema
触发对此数据库
的架构元数据的手动更新。
参数
id
值必须是一个大于零的整数。
POST /api/database/:id/unpersist
尝试禁用数据库的模型持久性。如果已经未启用,则仅返回通用的204。
参数
id
值必须是一个大于零的整数。
POST /api/database/sample_database
将样本数据库添加为新的数据库
。
执行此操作必须为超级用户。
POST /api/database/validate
验证我们是否可以连接到给定一组详细信息的数据库。
执行此操作必须为超级用户。
参数
-
engine
值必须是有效的数据库引擎。 -
details
映射。
PUT /api/database/:id
更新一个数据库
。
参数
-
engine
可空值必须是有效的数据库引擎。 -
schedules
可空值必须是DB的调度映射的有效映射。 -
refingerprint
可空布尔值。 -
points_of_interest
可空字符串。 -
description
可空字符串。 -
auto_run_queries
可空布尔值。 -
name
可空值必须是非空字符串。 -
settings
可空值必须是映射。 -
caveats
可空字符串。 -
is_full_sync
-
cache_ttl
可空值必须是一个大于零的整数。 -
details
可空值必须是一个映射。 -
id
值必须是一个大于零的整数。 -
is_on_demand
阅读其他 Metabase 版本 的文档。