Google cloud storage Google Cloud Bucket自定义元数据集,但未在HTTP请求中返回

Google cloud storage Google Cloud Bucket自定义元数据集,但未在HTTP请求中返回,google-cloud-storage,httprequest,metadata,Google Cloud Storage,Httprequest,Metadata,我已经设法将自定义元数据添加到存储在Google Cloud Bucket中的公共文件中,但HTTP响应中不会返回该自定义头 下图显示我的自定义元数据(X-Content-Type-Options)已添加到我的对象中。当我从浏览器请求该文件时,此自定义标题不是响应的一部分 可以添加自定义标题,但它们的前缀将是x-goog-meta-。AWS S3也受到同样的限制。这似乎是出于安全原因。我发现克服此限制的最精简的解决方案是使用AWS Lambda edge或Cloudflare edge Work

我已经设法将自定义元数据添加到存储在Google Cloud Bucket中的公共文件中,但HTTP响应中不会返回该自定义头

下图显示我的自定义元数据(X-Content-Type-Options)已添加到我的对象中。当我从浏览器请求该文件时,此自定义标题不是响应的一部分


可以添加自定义标题,但它们的前缀将是
x-goog-meta-
。AWS S3也受到同样的限制。这似乎是出于安全原因。我发现克服此限制的最精简的解决方案是使用AWS Lambda edge或Cloudflare edge Workers等边缘。其想法是动态重写标题。在我的例子中,这意味着捕获所有以
x-goog-meta-
开头的标题,并删除该前缀


下面是一篇使用AWS Lambda Edge实现这一点的人的文章:

可以添加自定义标题,但它们的前缀将是
x-goog-meta-
。AWS S3也受到同样的限制。这似乎是出于安全原因。我发现克服此限制的最精简的解决方案是使用AWS Lambda edge或Cloudflare edge Workers等边缘。其想法是动态重写标题。在我的例子中,这意味着捕获所有以
x-goog-meta-
开头的标题,并删除该前缀


下面是一篇使用AWS Lambda Edge实现这一点的人的文章:

您可以使用
x-goog-meta-
来设置对象的元数据

您可以使用
gsutil
命令和
-L
参数获取自定义元数据。还可以使用HTTP请求API恢复自定义元数据


但是,当您通过URL
访问对象时,浏览器中不会提供自定义元数据https://storage.cloud.google.com/...
。您必须构建一个代理,该代理使用存储API请求对象(用于获取内容和自定义元数据),并为对象提供预期的元数据

您可以使用
x-goog-meta-
设置对象的元数据

您可以使用
gsutil
命令和
-L
参数获取自定义元数据。还可以使用HTTP请求API恢复自定义元数据


但是,当您通过URL
访问对象时,浏览器中不会提供自定义元数据https://storage.cloud.google.com/...
。您必须构建一个代理,该代理使用存储API请求对象(用于获取内容和自定义元数据),并为对象提供预期的元数据

当您在浏览器中存储文件时,您需要元数据(用于下载/查看文件,url以
https://storage.cloud.google.com/...
)或请求存储API时(url以
https://www.googleapis.com/storage/v1...
)?当我从浏览器请求文件时(
https://storage.cloud.google.com
)。将带有存储的文件提供给浏览器时,您需要元数据(用于下载/查看文件,url以
https://storage.cloud.google.com/...
)或请求存储API时(url以
https://www.googleapis.com/storage/v1...
)?当我从浏览器请求文件时(
https://storage.cloud.google.com
)。