数据库

/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

返回给定 prefixsubstring 的自动完成建议列表。应指定一个,但如果两者都存在,则 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


« 返回 API 索引

阅读其他 Metabase 版本 的文档。

想改进这些文档? 提出更改。