如何使用 API 配置 Cloudfront

How to use APIs to configure Cloudfront

我使用过专门的 CDN,例如 Fastly 和 Cloudflare,我可以在其中使用它们的 REST API 来配置设置,例如前端和后端。例如,对于 Fastly,我可以简单地将 GET/POST/PUT 请求发送到 https://api.fastly.com/ 并附上我的凭证到 retrieve/change/set 各种参数。

我正在学习 AWS Cloudfront,它似乎比 Fastly 复杂得多。我只能找到 Cloudfront API Reference,但它没有告诉我将请求发送到哪个端点,以及我应该将哪些凭据附加到我的请求中。不知道有没有什么教程或者文档可以帮助我入门。

REST APIs 是 AWS 的 APIs,但您通常不想直接使用它们,而是通过库或 AWS CLI。

如果您想通过 API 手动更改资源,请使用 AWS CLI:https://docs.aws.amazon.com/cli/latest/reference/cloudfront/index.html . You need to install it (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) and add the access/secret keys (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。

如果一切设置正确,您可以像在控制台上一样通过 CLI 执行所有操作。例如,aws cloudfront list-distributions 返回帐户的分配。

如果您想构建创建和更改分布的自动化,您应该使用其中一种 SDK,例如 NodeJS AWS SDK:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront.html。您还需要添加 access/secret 键,然后您可以在 queries/modifies CloudFront 中编写任何您想要的代码。例如(来自文档):

var params = {
  Marker: 'STRING_VALUE',
  MaxItems: 'STRING_VALUE'
};
cloudfront.listDistributions(params, function(err, data) {
  if (err) console.log(err, err.stack); // an error occurred
  else     console.log(data);           // successful response
});

也就是说,AWS API 相当复杂,您可能需要花费相当多的时间来试验每次调用以获得所需的结果。最佳做法是使用控制台设置您的发行版,然后查询设置。这样您就可以了解每个参数的设置。