跳转到主要内容

无服务器文件上传器

项目描述

tuxput

PyPI version

无服务器文件上传器

tuxput是一个Python/Flask应用程序,它为S3提供了一个文件上传界面,并设计为可以使用Zappa无服务器运行。

配置

配置由存储在S3中的JSON文件和一些必须设置的以访问它的环境变量处理。

环境变量

运行tuxput时应该设置以下配置变量

  • CONF_BUCKET
    • 必需:是
    • 描述:包含配置的S3桶名称。例如:testing-tuxput-auth
  • CONF_FILE
    • 必需:否
    • 描述:表示包含具有访问权限的用户及其可以上传到的桶的json文件的键(文件名)。默认为'tuxput.json'
  • S3_REGION
    • 必需:是
    • 描述:包含S3桶的区域。例如:us-east-1
  • SITE_TITLE
    • 必需:否
    • 描述:默认为Tuxput。将全局站点标题设置为任何您喜欢的名称。
  • ALLOW_UPLOAD_OVERWRITE
    • 必需:否
    • 描述:布尔值,默认为False。允许上传者覆盖现有文件。

JSON 配置

CONF_FILE 提供了被提供服务和可能访问它们的用户配置信息。示例可以在 sample-tuxput.json 文件中找到。这里列出了两个顶级 JSON 对象:存储桶和用户

存储桶

"存储桶" 是由字典组成的列表,其中包含

name:S3 根目录下存储桶的名称(可选):指定从 S3 共享根目录的偏移目录。

如果没有为存储桶设置 "root",则 tuxput 假设 "/" 是根目录。

用户

"用户" 是描述允许上传到服务器的用户的字典列表。唯一两个必需选项是

token:用于识别用户授权的令牌:用户授权列表

"授权" 由以下组成

bucket:匹配授权规则应用的 S3 存储桶名称的模式:用户允许上传的路径模式列表(如果没有指定,将默认为 "*" 并提供完全访问权限)

文件中的任何其他字段都将被忽略,但可以用来记录管理上有兴趣的信息(例如,与令牌关联的用户名或电子邮件,令牌创建时间等)。

本地运行

要本地运行,安装 tuxput,确保环境中可用 AWS 访问,然后运行

CONF_BUCKET=testing-tuxput-auth S3_REGION=us-east-1 FLASK_APP=tuxput flask run

使用 Zappa 运行

此应用程序旨在与 Zappa 一起运行和部署,并由 AWS API GatewayLambda 托管。

要使用 Zappa,创建一个名为 zappa_init.py 的应用程序适配器

# When using a flask app factory, this file is required.
# See https://github.com/Miserlou/Zappa/issues/1771
# and https://github.com/Miserlou/Zappa/pull/1775
from tuxpub import create_app
app = create_app()

zappa_settings.yaml 文件的一个示例可能如下所示

{
---
prod:
  app_function: zappa_init.app
  aws_region: us-east-1
  project_name: testing-tuxput
  runtime: python3.7
  s3_bucket: testing-tuxput
  domain: testing-tuxput.ctt.linaro.org
  certificate_arn: arn:aws:acm:us-east-1:49557002050:certificate/92772d7-0d15-48d1-a707-010ec561c10
  environment_variables:
    CONF_BUCKET: testing-tuxput-auth
    S3_REGION: us-east-1

项目详情


下载文件

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

源分发

tuxput-0.0.7.tar.gz (13.8 kB 查看哈希)

上传时间

构建分发

tuxput-0.0.7-py3-none-any.whl (14.3 kB 查看哈希)

上传时间 Python 3

由以下机构支持

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