跳转到主要内容

A flask blueprint providing a read-lny API for querying RDBMS

项目描述

apisql

PyPI - Python Version

apisql 是一个flask blueprint,它提供通过直接SQL查询访问DBMS的只读API

端点

/query

以json格式返回查询结果。

可以发送的查询参数

  • query: 在DB上执行的SQL查询。查询可以是纯文本或base64编码。
  • num_rows: 返回的最大行数。如果没有指定,将返回配置中定义的数量、环境变量 APISQL__MAX_ROWS 中定义的数量或100。
  • page_size: 分页时'页面'的大小。默认情况下将使用 num_rows,并且无论如何页面大小不会超过 num_rows
  • page: 要获取的页面,从页面0开始

/download

以csv、xls或xlsx格式下载查询结果。

可以发送的查询参数

  • query: 在DB上执行的SQL查询。查询可以是纯文本或base64编码。

  • format: csvxlsx。默认为 csv

  • filename: 要下载的文件的文件名,不包括扩展名。默认为 query-results

  • headers: 输出文件的标题列表,以分号分隔。标题应与查询中出现的字段名称匹配。标题可能包含一个或多个修饰符,修饰符位于冒号之后。目前支持的修饰符有

    • number,将数字值转换为字符串
    • yesno,将布尔值转换为“是”/“否”。
    • 以逗号分隔,将字符串数组转换为以逗号分隔的字符串列表。最后,可以通过指定字段名称在查询输出中的不同字段中获取列的内容,字段名称位于<字符之后。

    示例:财政年度:number<fiscal_year;闰年:yesno<0;

示例:对于以下SQL

select employee_name as "Employee Name", employee_salary as "Salary", is_manager as "Managerial role?" from employees

headers可以指定为员工姓名;管理角色?:yesno;薪水:number

配置

此蓝图的相关Flask配置

    from apisql import apisql_blueprint

    app.register_blueprint(
        apisql_blueprint(connection_string='psql://host/database', max_rows=1000, debug=False),
        url_prefix='/api/db/'
    )

项目详情


下载文件

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

源分发

apisql-0.6.1.tar.gz (11.0 kB 查看哈希值)

上传时间

构建分发

apisql-0.6.1-py2.py3-none-any.whl (20.1 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下机构支持

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