【问题标题】:Invalid paths using CloudFront create invalidation in C#使用 CloudFront 的无效路径在 C# 中创建失效
【发布时间】:2014-08-19 11:38:20
【问题描述】:

我正在尝试使 C#/.NET 中的 CloudFront 对象无效并引发以下异常:

您的请求包含一个或多个失效失效路径。

我的功能:

public bool InvalidateFiles(string[] arrayofpaths)
{
    for (int i = 0; i < arrayofpaths.Length; i++)
    {
        arrayofpaths[i] = Uri.EscapeUriString(arrayofpaths[i]);
    }

    try
    {
        Amazon.CloudFront.AmazonCloudFrontClient oClient = new Amazon.CloudFront.AmazonCloudFrontClient(MY_AWS_ACCESS_KEY_ID, MY_AWS_SECRET_KEY, Amazon.RegionEndpoint.USEast1);
        CreateInvalidationRequest oRequest = new CreateInvalidationRequest();
        oRequest.DistributionId = ConfigurationManager.AppSettings["CloudFrontDistributionId"];
        oRequest.InvalidationBatch = new InvalidationBatch
        {
            CallerReference = DateTime.Now.Ticks.ToString(),
            Paths = new Paths
            {
                Items = arrayofpaths.ToList<string>(),
                Quantity = arrayofpaths.Length
            }
        };

        CreateInvalidationResponse oResponse = oClient.CreateInvalidation(oRequest);
        oClient.Dispose();
    }
    catch
    {
        return false;
    }
    return true;
}

传递给函数的数组包含一个 URL,如下所示:

images/temp_image.jpg

图像存在于 S3 存储桶中,并在 CloudFront URL 中加载到浏览器中。

我做错了什么?

【问题讨论】:

  • 无效失效!是无效的! :D

标签: c# .net amazon-web-services amazon-cloudfront cache-invalidation


【解决方案1】:

您的失效文件路径需要在字符串的前面有一个 /。

如果您有疑问,您可以登录 AWS 管理,转到 Cloudfront,选择您要从中使文件失效的分发,选择分发设置并转到“失效”选项卡。

然后您可以手动创建验证,这样您就可以检查您的路径是否正确。

【讨论】:

    【解决方案2】:

    当您向 CloudFront 中的某个对象发送失效请求时,即使失效已完成,您仍然可以在浏览器中的 CloudFront URL 中看到您的图片,因为失效不会从 S3 存储桶中删除对象,并且您对该图片的新请求浏览器 CloudFront 再次将这些 URl 缓存到边缘位置的 images/temp_image.jpg。

    当您更新同名图像时,将看到对象无效。

    你的失效函数是正确的。

    【讨论】:

      【解决方案3】:

      您是否尝试在路径的开头添加正斜杠? (/images/temp_image.jpg)

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 2021-03-25
      • 1970-01-01
      • 2020-07-09
      相关资源
      最近更新 更多