[使用本机API使Amazon CDN无效(CreateInvalidation),我正在使用TCL语言

问题描述 投票:0回答:1

我正在使用AWS CDN服务,并将其与我自己的原始服务器链接。但是,一旦客户端更新内容,我就需要构建一个使文件无效的功能。我看到AWS提供了此API

((CreateInvalidation)

POST /2019-03-26/distribution/DistributionId/invalidation HTTP/1.1
<?xml version="1.0" encoding="UTF-8"?>
<InvalidationBatch xmlns="http://cloudfront.amazonaws.com/doc/2019-03-26/">
   <CallerReference>string</CallerReference>
   <Paths>
      <Items>
         <Path>string</Path>
      </Items>
      <Quantity>integer</Quantity>
   </Paths>
</InvalidationBatch>

参考:https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateInvalidation.html#API_CreateInvalidation_Errors

但是我不明白如何使用它,就像分发URL是什么,日期是什么日期(2019-03-26)所指,我没有在配置中添加任何日期,我只添加了[[Cname 。

还应该是主机名?是cloudfront.amazonaws.com吗?还是应该使用我的

Cname

而且,xmlns是什么?是包含我需要使文件失效的文件的目录路径吗?

而且他们没有提及授权的任何内容,我不应该使用秘密密钥和访问密钥吗?

感谢任何帮助

amazon-web-services amazon-cloudfront invalidation
1个回答
0
投票
但是我不明白如何使用它,例如发布URL是什么,日期(2019-03-26)指的是我没有在配置中添加任何日期,我仅添加了Cname。

路径的大部分是静态的(例如,日期仅是API的版本)。您只需用您在AWS控制台的分发详细信息中找到的分发ID替换“ DistributionId”即可。

还应该是主机名?是cloudfront.amazonaws.com吗?还是应该使用我的Cname

是,主机名是“ cloudfront.amazonaws.com”,因为这是CloudFront的API端点:Amazon CloudFront endpoints and quotas

而且,xmlns是什么?是包含我需要使之无效的文件的目录路径吗?

xmlns只是有关xml本身的元信息,您可以忽略它。

您将必须声明要无效的路径,这是“ string Path>”中的“ string”值。对于要使之无效的每个路径,必须添加另一个“ string Path>”。语法记录在这里:Specifying the Files to Invalidate。您还需要用在“

integer”中配置的路径数量替换“ integer”。

最后,您必须在每个调用中用唯一值替换“ string CallerReference>”中的“ string”,CloudFront将忽略已经接收到CallerReference的调用。

而且他们没有提及授权的任何内容,我不应该使用秘密密钥和访问密钥吗?

是,但这不是请求正文的一部分,而是标头的一部分。有关如何操作的信息,请参见此页面(及其子页面):Signing AWS API requests

© www.soinside.com 2019 - 2024. All rights reserved.