S3网站部署工具

s3-deploy-website的Python项目详细描述


Build StatusPyPI badgeTest coverage

这是一个将静态网站上传到s3的部署工具。如果cloudfront是 用于托管网站,上传的文件可以自动 在cloudfront分布中无效。前缀树用于 由于只有有限数量的空闲 每个月都有失效

配置存储在如下的yaml文件中:

site:_sites3_bucket:example.comcloudfront_distribution_id:XXXXXXXXXXXcache_rules:-match:"/assets/*"maxage:30 days-match_regexp:'^assets/image-\d{3}-.*\.png$'maxage:90 days-match:"/css/*"maxage:30 days-match:"*"maxage:1 hour

site是静态网站相对于位置的目录 配置文件的。例如,jekyll将生成静态站点 在上面指定的_site目录中如果保存配置 文件名为.s3_website.yaml,您只需从 同一目录:

$ cd jekyll-site/
$ ls .s3_website.yaml
.s3_website.yaml
$ s3-deploy-website

凭证

可以通过环境变量提供aws凭据 AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY

$ exportAWS_ACCESS_KEY_ID=XXXXXX
$ exportAWS_SECRET_ACCESS_KEY=XXXXXX
$ s3-deploy-website

它们也可以通过boto的各种配置文件提供 阅读。

配置文件

站点
要上载的静态内容的目录(相对于 配置文件的位置(例如,jekyll站点的_site
s3_桶
要上载文件的s3存储桶的名称。你必须允许 操作s3:GetObjects3:PutObjects3:DeleteObjects3:ListBucket在桶和钥匙上。 arn:aws:s3:::example.comarn:aws:s3:::example.com/*
s3减少了冗余
指示是否应上载文件的可选布尔值 到reduced redundancy存储器。
cloudfront_分布id
上载新文件后要失效的CloudFront分发。只有 已更改的文件将无效。你必须允许 操作cloudfront:CreateInvalidation.
缓存规则
用于确定上载文件的缓存配置的规则列表。 match键指定规则应用于的模式。这使用 全局样式匹配(使用*?)也可以执行匹配 通过使用match_regexp使用正则表达式。只有 将使用与给定密钥匹配的第一个规则。maxage键 指定缓存文件的时间。值应为数字 秒或字符串,如30 days5 minutes, 30 seconds等。
端点URL
(可选)用于设置BOTO3的自定义终结点: Boto3 Session reference

类似软件

.s3_website.yaml中的配置是受s3_website启发的,尽管 S3U网站支持的选项略有不同。

许可证

麻省理工学院。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Maven中的java,为什么要运行“mvn clean”?   java会降低图像质量。OutOfMemory异常Android   在Java8中将函数传递到流的过滤方法   jboss6。x java。lang.NoClassDefFoundError,当我将<listenerclass>包含到web时。xml java   java读取图像像素时,像素Alpha始终为255   java在迭代后跳过一行   java如何创建我自己的单链表   意图上的java空指针异常。getStringExtra.:安卓   具有连接实体的java Hibernate onetoone映射   java需要帮助在自制的仓鼠模拟器上实现启动/恢复/暂停/停止线程操作   如何测试非主方法?[Java,IntelliJ]   java jdbc自动提交(false)不起作用   java在JADE中的同一容器中创建多个代理   java OkHttp获取失败的响应正文   java Webdriver flash按钮