我正在使用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>
但是我不明白如何使用它,就像分发URL是什么,日期是什么日期(2019-03-26)所指,我没有在配置中添加任何日期,我只添加了[[Cname 。
还应该是主机名?是cloudfront.amazonaws.com吗?还是应该使用我的Cname
而且,xmlns是什么?是包含我需要使文件失效的文件的目录路径吗?而且他们没有提及授权的任何内容,我不应该使用秘密密钥和访问密钥吗?
感谢任何帮助
但是我不明白如何使用它,例如发布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本身的元信息,您可以忽略它。
您将必须声明要无效的路径,这是“ integer”中配置的路径数量替换“ integer”。
而且他们没有提及授权的任何内容,我不应该使用秘密密钥和访问密钥吗?
是,但这不是请求正文的一部分,而是标头的一部分。有关如何操作的信息,请参见此页面(及其子页面):Signing AWS API requests