无服务器文件上传器
项目描述
tuxput
无服务器文件上传器
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 Gateway 和 Lambda 托管。
要使用 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 查看哈希)
关闭
tuxput-0.0.7.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3b0b4b837469a2aef4121e2cbf1b62594ba98c5bebd00bc287ae909a7b8be428 |
|
MD5 | 61f1d682b15de8e30e9d93acbf7087c9 |
|
BLAKE2b-256 | 15790ffb09a284d7e020714875c4b6f3792896e1bc8d2f538f2205bba3183af2 |
关闭
tuxput-0.0.7-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc61a442b94c7cac67d3fc95b022edc56b3391b49e21e0220c7633d4f0a764b9 |
|
MD5 | 6b494bdeb006964611d97eb8c05c7684 |
|
BLAKE2b-256 | 3b104a9297c6609e70d38a8f7662cf275982830bf5b9f6f4f2e7d93fb206e50d |