Snowflake Native SDK for Connectors¶
Snowflake Native SDK for Connectors(第 1 阶段)是一系列应用程序模板和快速入门信息,展示了如何构建 Snowflake Native App,将数据从外部数据源引入 Snowflake。这些模板涵盖了基于拉取和基于推送的数据集成模式。
这些模板不会限制或制约开发者。相反,这些模板提供的示例展示了如何使用核心 Snowflake 功能引入数据,并将应用程序代码封装在 Snowflake Native App 内。
Snowflake Native App Framework 允许提供商在 Snowflake Marketplace 上发布 Snowflake Native App 并从中获利。Snowflake Native App 开发者可以克隆模板存储库、修改样板代码,以及创建自己的 Snowflake 连接器。
基于拉取的连接器模板及快速入门¶
如果源数据提供商不在 Snowflake 中管理客户数据,并且不愿意为 Snowflake 中的持续数据共享产生 COGS,基于拉取的模式有效。如果源数据提供商具有文档翔实的 APIs,可供客户用于复制和使用数据,这些模式也有效。
如何使用基于拉取的模式¶
使用基于拉取的连接器模式,提供商(Snowflake 或第三方 ETL 提供商)可使用 Snowflake Marketplace,发布和分发基于 Snowflake Native App 的原生连接器。原生连接器使用直接外部访问来连接源应用程序。原生连接器执行出站身份验证,从源直接将数据提取到客户账户中,并根据用户指定的配置处理和持久保留数据。
下图展示了使用基于拉取的模式开发原生连接器时可能的体系结构:
附加信息¶
请访问以下链接,查看模板和快速入门:
` 示例存储库 <https://github.com/snowflakedb/connectors-native-sdk (https://github.com/snowflakedb/connectors-native-sdk)>`_
` 快速入门:原生 GitHub 连接器 (Python) <https://quickstarts.snowflake.com/guide/connectors_github_python (https://quickstarts.snowflake.com/guide/connectors_github_python)>`_
` 快速入门:原生 Github 连接器 (Java) <https://quickstarts.snowflake.com/guide/connectors_github_java (https://quickstarts.snowflake.com/guide/connectors_github_java)>`_
基于推送的连接器模板和快速入门¶
如果因安全性、性能或治理方面的限制,无法通过客户防火墙对源应用程序进行入站访问,使用基于推送的模式是有效的。该模式使用代理和 Snowflake Native Application,允许客户将数据变更引入到受防火墙保护的 Snowflake 中。
如何使用基于推送的模式¶
代理是一种独立应用程序,以 Docker 映像的形式分发,部署在客户环境中,并负责从源 CDC 流读取数据变更,从而向 Snowflake 发送初始和增量负载。
Snowflake Native App 在 Snowflake 中运行,用于协调集成。Snowflake Native App 主要负责管理复制过程、控制代理状态,以及创建所需对象,包括目标数据库在内。
下图展示了使用基于推送的模式开发原生连接器时可能的体系结构:
附加信息¶
请访问以下链接,查看示例和快速入门:
` 示例存储库 <https://github.com/snowflakedb/connectors-native-sdk (https://github.com/snowflakedb/connectors-native-sdk)>`_
` 快速入门:基于推送的 Java 连接器 <https://quickstarts.snowflake.com/guide/connectors_example_push_based_java (https://quickstarts.snowflake.com/guide/connectors_example_push_based_java)>`_
Snowflake Native SDK for Connectors 的后续步骤¶
在 Snowflake Native SDK for Connectors 的第 2 阶段中,Snowflake 计划添加额外的示例,以演示如何管理引入作业、如何以可重用库的形式泛化常用连接器块等。 请注意,具体示例、新库或额外的新增内容和更新可能随时变更。
若要注册第 2 阶段预览版,请参阅 ` Snowflake Native SDK for Connectors 页面 <https://www.snowflake.cn/connectors-native-sdk>`_。