gpt4 book ai didi

c# - 将 Cache-Control 和 Expires header 添加到 Azure 存储 Blob

转载 作者:IT王子 更新时间:2023-10-29 04:06:23 27 4
gpt4 key购买 nike

我使用 Azure 存储来提供静态文件 blob,但我想在提供时向文件/blob 添加 Cache-Control 和 Expires header ,以降低带宽成本。

CloudXplorer这样的应用程序和 Cerebrata 的 Cloud Storage Studio提供在容器和 blob 上设置元数据属性的选项,但在尝试添加 Cache-Control 时会感到不安。

有人知道是否可以为文件设置这些 header 吗?

最佳答案

我必须对大约 600k blob 运行批处理作业,发现有两件事确实有帮助:

  1. 从同一数据中心中的辅助角色运行操作。只要 Azure 服务位于同一关联组中,它们之间的速度就非常快。另外,没有数据传输成本。
  2. 并行运行操作。 .net v4 中的任务并行库 (TPL) 使这变得非常简单。以下是为容器中的每个 blob 并行设置缓存控制 header 的代码:

    // get the info for every blob in the container
    var blobInfos = cloudBlobContainer.ListBlobs(
    new BlobRequestOptions() { UseFlatBlobListing = true });
    Parallel.ForEach(blobInfos, (blobInfo) =>
    {
    // get the blob properties
    CloudBlob blob = container.GetBlobReference(blobInfo.Uri.ToString());
    blob.FetchAttributes();

    // set cache-control header if necessary
    if (blob.Properties.CacheControl != YOUR_CACHE_CONTROL_HEADER)
    {
    blob.Properties.CacheControl = YOUR_CACHE_CONTROL_HEADER;
    blob.SetProperties();
    }
    });

关于c# - 将 Cache-Control 和 Expires header 添加到 Azure 存储 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4507657/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com