Snowflake Native SDK for Connectors

Snowflake Native SDK for Connectors 库提供 Snowflake 原生应用程序的框架,其目的是将外部数据源中的数据引入 Snowflake。我们将这样的应用程序称为 原生连接器

Snowflake Native SDK for Connectors 是一系列应用程序模板和快速入门信息,展示了如何构建 Snowflake Native App,将数据从外部数据源引入 Snowflake。这些模板涵盖了基于拉取和基于推送的数据集成模式。

这些模板不会限制或制约开发者。相反,这些模板提供的示例展示了如何使用核心 Snowflake 功能引入数据,并将应用程序代码封装在 Snowflake Native App 内。

Snowflake Native App Framework 允许提供商在 Snowflake Marketplace 上发布 Snowflake Native App 并从中获利。Snowflake Native App 开发者可以克隆模板存储库、修改样板代码,以及创建自己的 Snowflake 连接器。

什么是原生连接器?

连接器是一种应用程序,允许数据从外部源系统流入 Snowflake。原生连接器是使用 Snowflake Native App Framework 构建和部署的连接器应用程序。连接器有不同类型:

  • 基于拉取的连接器

  • 基于推送的连接器

Snowflake Native SDK for Connectors 当前仅支持基于拉取的模式。

基于拉取的连接器

如果源数据提供商不在 Snowflake 中管理客户数据,并且不愿意为 Snowflake 中的持续数据共享产生 COGS,基于拉取的模式有效。如果源数据提供商具有文档翔实的 APIs,可供客户用于复制和使用数据,这些模式也有效。

如何使用基于拉取的模式

通过使用基于拉取的连接器模式,提供商(Snowflake 或第三方 ETL 提供商)可使用 Snowflake Marketplace,发布和分发基于 Snowflake Native App 的原生连接器。原生连接器使用直接外部访问来连接源应用程序。原生连接器执行出站身份验证,从源直接将数据提取到客户的 Snowflake 账户中,并根据用户指定的配置处理和持久保留数据。

基于拉取的架构

基于推送的连接器

如果因安全性、性能或治理方面的限制,无法通过客户防火墙对源应用程序进行入站访问,使用基于推送的模式是有效的。该模式使用代理和 Snowflake Native App,允许客户将数据变更引入到受防火墙保护的 Snowflake 中。

如何使用基于推送的模式

代理是一种独立应用程序,以 Docker 映像的形式分发,部署在客户环境中,并负责从源 CDC 流读取数据变更,从而向 Snowflake 发送初始和增量负载。

Snowflake Native App 在 Snowflake 中运行,协调集成。它主要负责管理复制过程、控制代理状态,以及创建所需对象,包括目标数据库在内。

基于推送的架构

什么是连接器的原生 SDK?

Snowflake Native SDK for Connectors 是提供通用组件的库,这些组件可用于构建自定义 Snowflake 原生应用程序,将外部数据源中的数据引入 Snowflake。提供的组件定义了连接器应用程序的推荐流程,

并允许自定义和排除某些功能。到目前为止,Snowflake Native SDK for Connectors 作为本地构建的代码仅以 Java 形式提供。此外,还提供了第二个库,其中包含有助于编写单元测试的辅助函数和实用程序类。这些库见 Maven Central Repository:

  • Native SDK for Connectors 库 (https://central.sonatype.com/artifact/com.snowflake/connectors-native-sdk)

  • Native SDK for Connectors 测试库 (https://central.sonatype.com/artifact/com.snowflake/connectors-native-sdk-test/overview)

使用这些库的示例还包括示例脚本,可用于在 Snowflake 中部署和创建应用程序实例。

Snowflake Native SDK for Connectors 用于基于 Snowflake Native App Framework 构建应用程序,然后使用 Snowflake Marketplace 将其发布并从中获利。要使用 Snowflake Native SDK for Connectors,请从模板或示例应用程序进行克隆。

Snowflake Native SDK for Connectors 利用 Snowflake 的以下功能:

附加信息

有关模板和快速入门的更多信息,请参阅:

  • ` 示例存储库 <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 SDK for Connectors 入门

语言: 中文