请求访问外部表和 Apache Iceberg™ 表

本主题介绍提供商应如何配置应用程序,以请求使用者允许该应用程序访问提供商在应用程序中共享的外部表和 Apache Iceberg™ 表。

关于 Snowflake Native App 中的外部表和 Iceberg 表

Snowflake Native App Framework 允许提供商与使用者共享 外部表Apache Iceberg™ 表。有关一般信息,请参阅 对外部表和 Iceberg 表的支持

要在应用程序中加入外部表或 Iceberg 表,请执行以下操作:

  1. 将表添加到应用程序中。请参阅 在 Snowflake Native App 中共享数据内容

  2. Add an entry for external and Iceberg tables to the manifest.

  3. Request permissions to access external and Iceberg tables.

小心

在应用访问共享的外部表或 Iceberg 表之前,使用方必须明确授予该应用使用该表的权限。有关更多信息,请参阅 启用外部表和 Apache Iceberg™ 表

将外部表和 Iceberg 表的条目添加到清单中

要在应用程序中加入外部表或 Iceberg 表,提供商必须在清单文件中添加一个条目,如以下示例所示:

restricted_features:
  - external_data:
     description: “The reason for enabling an external or Iceberg table.”
Copy

请求访问外部表和 Iceberg 表的权限

出于安全和成本考虑,使用者必须明确授予应用程序权限以使用外部表或 Iceberg 表。

备注

如果应用程序尝试直接在安装脚本中解析外部表或 Iceberg 表,则如果使用者尚未向该应用授予权限,安装脚本将失败。要访问外部数据,例如从外部表创建视图,提供者应在安装脚本的存储过程中创建视图。然后,在使用者授予应用程序权限后,应用程序可以调用存储过程。

要允许自定义 Streamlit 应用程序访问外部表和 Iceberg 表,Python Permission SDK 提供如下函数:

request_external_data() -> None

使 Snowsight 显示一个对话框,提示使用者允许应用程序访问该应用程序所需的外部表或 Iceberg 表。

is_external_data_enabled() -> boolean

确定使用者是否已允许应用程序使用外部表或 Iceberg 表。如果允许,则返回 True。否则返回 False

或者,使用者可以运行 SYSTEM$SET_APPLICATION_RESTRICTED_FEATURE_ACCESS 系统函数以允许应用程序访问外部表和 Iceberg 表。

语言: 中文