跳转到主要内容

Singer tap for StackExchange,使用Meltano SDK为Singer Taps构建。

项目描述

tap-stackexchange

Test Maintainability Rating Security Rating Duplicated Lines (%)

Singer tap for StackExchange API。

使用Meltano SDK为Singer Taps和目标构建。

功能

  • 同步
  • 目录
  • 状态
  • 发现

设置

设置 必需 默认 描述
key False None 传递此信息以获得更高的请求配额
site False stackoverflow.com StackExchange网站
tags False None 问题标签
start_date False None 同步的最早期记录日期

有关支持的设置和功能的完整列表,请运行:tap-stackexchange --about

自定义过滤器

StackExchange API支持许多自定义过滤器,可用于包含或排除响应对象中的某些字段。此应用程序具有以下参数的内置过滤器

  • include

    参数 描述
    question.comment_count 问题上的评论数量
    tag.last_activity_date 标签的最后活动日期
  • unsafe=false

更新内置过滤器

要更新内置过滤器,请编辑tap_stackexchange/tap.py中的FILTER_ID常量。

要生成新的过滤器,请使用 尝试它 按钮,访问 StackExchange API 文档,将内置过滤器作为 base 参数。

使用自定义过滤器

要使用自定义过滤器,将 filter 设置为过滤器 ID。请注意,如果您使用自定义过滤器,则需要使用包含您要同步的字段的自定义目录。也就是说,您需要

  1. 将默认目录写入文件: tap-stackexchange --discover > catalog.json
  2. 编辑目录文件以包含默认 API 过滤器未包含的字段
  3. 使用自定义目录运行 tap: tap-stackexchange --config config.json --catalog catalog.json

安装

pipx install git+https://github.com/edgarrmondragon/tap-stackexchange.git

源身份验证和授权

在 Stack Apps 上注册一个 新应用 并复制生成的 key

用法

您可以通过单独运行或通过 Meltano 的管道来轻松运行 tap-stackexchange

直接执行 Tap

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

初始化您的开发环境

pipx install poetry
poetry install

使用 Meltano 进行测试

注意:此 Tap 适用于任何 Singer 环境,无需 Meltano。这里提供示例仅为了方便和简化端到端编排场景。

您的项目已包含一个自定义的 meltano.yml 项目文件。打开 meltano.yml 并按照文件中列出的任何 "待办事项" 进行操作。

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

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

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

# Test invocation:
meltano invoke tap-stackexchange --version

# OR run a test `elt` pipeline:
meltano elt tap-stackexchange target-sqlite --job_id=stackexchange-sqlite

# Runtime configuration
TAP_STACKEXCHANGE__LOAD_SCHEMA=dragon_ball_gt \
TAP_STACKEXCHANGE_SITE=anime \
TAP_STACKEXCHANGE_TAGS='["dragon-ball-gt"]' \
meltano elt tap-stackexchange target-sqlite

SDK 开发指南

有关如何使用 SDK 开发您自己的 taps 和 targets 的更多信息,请参阅 开发指南

项目详情


下载文件

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

源分发

tap_stackexchange-0.0.1a5.tar.gz (12.8 kB 查看哈希值)

上传时间:

构建分发

tap_stackexchange-0.0.1a5-py3-none-any.whl (13.1 kB 查看哈希值)

上传时间: Python 3

由以下支持