Как использовать API для настройки Cloudfront

#amazon-web-services #aws-api-gateway #amazon-cloudfront

#amazon-веб-сервисы #aws-api-шлюз #amazon-cloudfront #aws-api-gateway

Вопрос:

Я использовал выделенные CDN, такие как Fastly и Cloudflare, где я могу использовать их REST API для настройки параметров, таких как интерфейс и серверная часть. Например, для Fastly я могу просто отправить запрос GET / POST / PUT на https://api.fastly.com/ , прикрепленный с моими учетными данными, для извлечения / изменения / установки различных параметров.

Я изучаю AWS Cloudfront, и кажется, что это намного сложнее, чем Fastly. Все, что я могу найти, — это ссылка на Cloudfront API, но она не сообщает мне, на какую конечную точку я отправлю запрос и какие учетные данные я должен прикрепить к своему запросу. Интересно, есть ли какое-либо руководство или документы, которые могут помочь мне начать.

Ответ №1:

REST API — это API-интерфейсы для AWS, но обычно вы хотите использовать их не напрямую, а через библиотеку или интерфейс командной строки AWS.

Если вы хотите вручную изменять ресурсы через API, используйте интерфейс командной строки AWS:https://docs.aws.amazon.com/cli/latest/reference/cloudfront/index.html . Вам необходимо установить его (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html ) и добавьте ключи доступа / секретные ключи (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

Если вы все настроили правильно, вы можете делать все через CLI, как вы можете делать на консоли. Например, a aws cloudfront list-distributions возвращает дистрибутивы для учетной записи.

Если вы хотите создать автоматизацию, которая создает и изменяет дистрибутивы, вам следует использовать один из SDK, например, NodeJS AWS SDK:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront.html . Вам также необходимо добавить ключи доступа / секретные ключи, а затем вы можете написать любой код, который вы хотите, который запрашивает / изменяет 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
});
  

Тем не менее, API AWS довольно сложны, и вы можете ожидать, что потратите довольно много времени на эксперименты с каждым вызовом, чтобы получить желаемый результат. Рекомендуется настроить дистрибутив с помощью консоли, а затем запросить настройки. Таким образом, вы будете понимать, что задает каждый параметр.