因此,我有一个S3存储桶,并在cloudfront中启用了2个发行版,一个用于写入(使用签名的PUT cloudfront URL),另一个用于读取(再次使用签名的Cloudfront URL)。我想允许用户在上传文件时指定“ Cache-Control”标头,但是我看不到原始S3对象上设置的任何元数据。如何配置Cloudfront,使其在PUT操作过程中传递来自用户的“ Cache-Control”标头,以反映在S3对象上?
示例输入网址:
curl --request PUT --upload-file /Users/dex/Downloads/bug1.png 'https://xxxxxxxxxxxxx.cloudfront.net/subdir/object_cache_expires_test_01.png?Expires=1570665600&Signature=M24sm3tpDK1IXYGINTA2V6cBpM-kckPtJfMGymhNuSOKAapPSe4VvVXEKuJQdAAn3iOjbeXQ63D2lpu8YxoGOl2higDv8z~GhRD1XD1nsTZiblIGnpe0fFkmF2w9flc8~hIu7VsxaB2tR1Ei3LCW-gGnX~mvMpHKt3g5a0TTNj8nw6ETZDgcEuaoSIm0Ham7GZo24k6RG-zxMPPqiGFh6gtNtLnxd7vjCQMTOdgUVA34vMuumoJMmBuCoCgl7PJF04oWsIORa8N1KEQZIi4VPTZKWv2VTPGbOeBxFbR73nisyHIGukPgaRWFoqXfZ4RnC~5zabV-zdB08Wk~~LOFcg__&Key-Pair-Id=APKAJRPBOFBOEYCMC7NA' -i -H 'Cache-Control: max-age=90001'
文件已上传,但是当我检查S3中的属性时,我看不到任何METADATA设置。
我尝试设置“基于所选请求标头的缓存”,并添加了Expires和Cache-Control,但结果仍然相同。未在S3对象上设置。 “对象缓存”设置为“使用原始缓存头”,因为我希望设置客户端使用Cloudfront签名的URL上传文件时来自客户端的缓存头。