【问题标题】:Travis AWS S3 SDK set cache header for particular fileTravis AWS S3 SDK 为特定文件设置缓存标头
【发布时间】:2017-03-06 05:59:52
【问题描述】:

在我的 Travis 脚本中,有一种方法可以将内容上传到 S3 Bucket,如下所示:

# deploy:
#   provider: script
#   skip_cleanup: true
#   script: "~/.local/bin/aws s3 sync dist s3://mybucket --region=eu-west-1
#     --delete"
# before_deploy:
# - npm run build
# - pip install --user awscli

我还想在该存储桶中的特定文件(即 sw.js)上设置无缓存标头。目前在 SDK 中是否可行?

【问题讨论】:

    标签: amazon-s3 travis-ci


    【解决方案1】:

    恐怕使用单个s3 sync 命令是不可能的。但是您可以尝试使用 excludeinclude 选项执行两个命令。一个用于同步除 sw.js 之外的所有内容,另一个用于同步 sw.js

    script: ~/.local/bin/aws s3 sync dist s3://mybucket --include "*" --exclude "sw.js" --region eu-west-1 --delete ; ~/.local/bin/aws s3 sync dist s3://mybucket --exclude "*" --include "sw.js" --region eu-west-1 --delete --cache-control "no-cache" --metadata-directive REPLACE

    注意:--metadata-directive REPLACE 选项对于非多部分副本是必需的。

    【讨论】:

      猜你喜欢
      • 2013-10-25
      • 2014-08-18
      • 2017-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多