跳转到主要内容

`tap-snowflake` 是一个为Snowflake构建的Singer tap,使用Meltano SDK为Singer Taps。

项目描述

tap-snowflake

tap-snowflake 是一个针对Snowflake的Singer tap。

使用Meltano Tap SDK 为Singer Taps构建。

安装

pipx install git+https://github.com/MeltanoLabs/tap-snowflake.git

配置

接受配置选项

通过运行可以获取此tap支持的设置和功能的全列表

tap-snowflake --about

tables 配置参数。

您要同步的表名称数组。表名称应完全限定,包括模式和表名称。

注意

  • 这限制了发现到指定的表,出于性能考虑。如果您打算发现整个可用目录,请不要指定tables
  • 指定tables的语法与select略有不同(schema_name.table_nameschema_name-table_name.*

:bulb: 在向select添加更多元素时,如果使用tables,请确保在tables中指定表。

示例

  ...
  tables:
    - schema_name1.table1
    - schema_name1.table2

使用环境变量进行配置

如果提供--config=ENV,则此Singer tap将自动导入工作目录的.env中的任何环境变量,这样如果终端上下文或.env文件中设置了匹配的环境变量,则将考虑配置值。

源认证和授权

此tap支持两种认证方法

密钥对认证

可以通过指定private_keyprivate_key_path来启用密钥对认证,如果需要,还可以指定private_key_passphrase

启用批量消息

此功能使用Meltano SDK构建,因此除了Singer规范中的RECORD消息外,还支持BATCH 消息类型。可以通过将以下内容添加到您的config.json中启用它

{
  // ...
  "batch_config": {
    "encoding": {
      "format": "jsonl",
      "compression": "gzip"
    },
    "storage": {
      "root": "file://tests/core/resources",
      "prefix": "test-batch"
    }
  }
}

或者添加到您的meltano.yml

config:
  plugins:
    extractors:
      - name: tap-snowflake
        config:
          batch_config:
            encoding:
              format: jsonl
              compression: gzip
            storage:
              root: "file://tests/core/resources"
              prefix: test-batch

注意:此版本的tap-snowflakeBATCH模式下尚不支持INCREMENTAL复制策略。有关更新,请参阅此处

使用方法

您可以使用Meltano单独运行tap-snowflake或在管道中运行。

直接执行Tap

tap-snowflake --version
tap-snowflake --help
tap-snowflake --config CONFIG --discover > ./catalog.json

开发者资源

初始化开发环境

pipx install poetry
poetry install

创建和运行测试

tap_snowflake/tests子文件夹中创建测试,然后运行

poetry run pytest

您还可以使用poetry run直接测试tap-snowflake CLI界面

poetry run tap-snowflake --help

使用Meltano进行测试

注意:此Tap可以在任何Singer环境中工作,并不需要Meltano。此处提供的示例仅供参考,以方便端到端编排场景。

项目已包含预创建的meltano.yml项目文件。打开meltano.yml,并遵循文件中列出的任何"TODO"项。

接下来,安装Meltano(如果您尚未安装)以及任何需要的插件

# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-snowflake
meltano install

现在您可以使用Meltano进行测试和编排

# Test invocation:
meltano invoke tap-snowflake --version
# OR run a test `elt` pipeline:
meltano elt tap-snowflake target-jsonl

SDK开发指南

请参阅开发指南,以获取有关如何使用SDK开发自己的Tap和目标的更多说明。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

meltanolabs_tap_snowflake-0.0.25.tar.gz (12.8 kB 查看哈希值)

上传时间

构建分布

meltanolabs_tap_snowflake-0.0.25-py3-none-any.whl (12.6 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面