2017-10-11 60 views
2

我没有上传带Cache-Control的对象作为参数,它不会在对象存储桶中生效,但它在AWS S3存储桶中使用相同的代码在对象存储中存储具有Control-Cache头部的对象是不可实现的

$s3Client->putObject([ 
      'ACL' => 'public-read', 
      'Bucket' => config('filesystems.disks.object-storage.bucket_name'), 
      'CacheControl' => 'public, max-age=86400', 
      'Key' => $path, 
      'SourceFile' => $path, 
     ]); 

我不明白为什么相同的代码在两个云存储桶中都没有相同的效果,因为它们都使用S3 API。

上传的文件有控制高速缓存头in AWS S3和相同的文件in IBM OO不会得到相同的结果。

如何在对象存储文件中正确设置control-cache标头?

+0

我使用AWS SDK文档在http://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject – user8322093

回答

0

IBM的对象存储目前没有为AWS S3,有效的API操作在这里列出https://ibm-public-cos.github.io/crs-docs/api-reference

的所有选项正如你可以看到有没有控制高速缓存支持

+0

谢谢,我感谢你的裁判,我最后的疑问是关于有一些机制可以在对象存储中为我的文件设置到期头文件,从而获得更好的性能,你知道该怎么做吗? – user8322093

+1

这只能用于快速对象存储,您需要设置标题“X-Delete-At”和您想要的时间。请参阅https://community.runabove.com/kb/en/object-storage/how-to-schedule-deletion-of-objects.html –