首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flysystem: Google Cloud Storage Adapter - cache-control

Flysystem: Google Cloud Storage Adapter - cache-control
EN

Stack Overflow用户
提问于 2020-09-16 22:49:21
回答 3查看 140关注 0票数 0

有没有办法在使用Google Cloud Storage Adapter for Flysystem将文件放入Google Cloud Storage时设置缓存控制元数据?

EN

回答 3

Stack Overflow用户

发布于 2020-10-21 20:39:50

Flysystem具有设置适配器配置的能力。要为GCP存储桶设置缓存控制标头,可以使用next:

代码语言:javascript
复制
/** @var FilesystemInterface $storage */
$storage->put($path, $contents, [
    'metadata' => [
        'cacheControl' => 'no-cache,max-age=0'
     ]
]);

此外,您还可以在GCP控制台中设置Cloud Function,以便在对象保存到存储桶时设置标头

票数 1
EN

Stack Overflow用户

发布于 2020-09-17 02:16:59

你可以在Set Cache-Control php client on Google Cloud Storage Object的回复中找到一个设置缓存控制的例子。

票数 0
EN

Stack Overflow用户

发布于 2021-02-20 01:02:55

在GSC sonsole上手动编辑

  1. (“编辑每个文件中的元数据”)-如果你有大量的文件

,这是个糟糕的解决方案

gs://yourbucketname/optionalfolder/ -m -D -h缓存控制:“缓存控制:公共,最大年龄=31536000”cp -r gsutil

  1. 更新元reference

gs://bucket/*.html -m setmeta -h "Content-Type:text/html“\ -h”缓存控制:公共,最大年龄=3600“\ -h "Content-Disposition”gsutil

  1. 上传使用接口(PHP,Nodejs,Java,GO等)查看SDK文档--每种语言都有很多示例。

  1. 创建Google负载均衡,并设置自定义元字段“缓存-控制”:"public,max-age=3600“,此时您将拥有自己的

域名和灵活的设置。

  1. 最佳选项-创建和部署触发器脚本,该脚本将在上载(google.storage.object.finalize事件)

之后立即设置元(或任何您想要的元

创建包含两个文件index.jspackage.json的新文件夹

index.js

代码语言:javascript
复制
enter const {Storage} = require('@google-cloud/storage');
const storage = new Storage();

exports.prepare = (file, context) => {
   console.log("prepare: set cache control:" + file.name);
   storage.bucket(file.bucket).file(file.name).setMetadata({cacheControl: 'public, max-age=31536000'}); 
};

package.json

代码语言:javascript
复制
{
   "dependencies": {
        "@google-cloud/storage": ">=5.8.0"
   }
}

并分两步部署此函数

  1. 安装和初始化云(https://cloud.google.com/sdk/docs/install)

api deploy(系统会要求先启用

  1. -按照说明操作)

google.storage.object.finalize函数部署准备\--运行时nodejs12 \--触发器资源gs://您的后台名称\--触发器-事件名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63922620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档