Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何使用具有S3和Cloudfront发行版的Write-S3Object设置缓存控制?_Amazon S3 - Fatal编程技术网

Amazon s3 如何使用具有S3和Cloudfront发行版的Write-S3Object设置缓存控制?

Amazon s3 如何使用具有S3和Cloudfront发行版的Write-S3Object设置缓存控制?,amazon-s3,Amazon S3,我一直这样做,但现在似乎不再有效(2015年8月): 最近有什么变化吗?当我签入S3时,没有标题信息集。您需要在查询中使用-Metadata参数,将-HeaderCollection{“Cache Control”=“public,max age=120”}参数更改为-Metadata@{“Cache Control”=“public,max age=120”}效果良好,可以在AWS web控制台中看到 这是一个工作片段 Write-S3Object -BucketName myBucket

我一直这样做,但现在似乎不再有效(2015年8月):


最近有什么变化吗?当我签入S3时,没有标题信息集。

您需要在查询中使用-Metadata参数,将
-HeaderCollection{“Cache Control”=“public,max age=120”}
参数更改为
-Metadata@{“Cache Control”=“public,max age=120”}
效果良好,可以在AWS web控制台中看到

这是一个工作片段

 Write-S3Object -BucketName myBucket -file "test.json" -Metadata
 @{"Cache-Control" = "public,max-age=120"}
这是使用以下版本的Powershell运行的

PS C:\Users\DanielH1> Get-AWSPowerShellVersion

AWS Tools for Windows PowerShell
Version 3.1.5.1
Copyright 2012-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Amazon Web Services SDK for .NET
Version 3.1.0.2
Copyright 2009-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.

Release notes: https://aws.amazon.com/releasenotes/PowerShell

This software includes third party software subject to the following copyrights:
- Logging from log4net, Apache License
[http://logging.apache.org/log4net/license.html]
以下是参考文档的链接:
发生在我身上的是,当上传单个文件时,HeaderCollection工作得非常好,但当上传文件夹时却不行

事实证明,元数据确实适用于文件夹,但在我的例子中,最终会有两个标题:

Cache-Control max-age=9999
x-amz-meta-cache-control max-age=9999
而仅仅使用元数据和一个文件使事情变得更加复杂是行不通的

因此,我决定在@params变量中添加这两个参数(HeaderCollection和Metadata),并让脚本将这两个头放在我的所有文件上

希望对某人有所帮助:)

Cache-Control max-age=9999
x-amz-meta-cache-control max-age=9999