#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 довольно сложны, и вы можете ожидать, что потратите довольно много времени на эксперименты с каждым вызовом, чтобы получить желаемый результат. Рекомендуется настроить дистрибутив с помощью консоли, а затем запросить настройки. Таким образом, вы будете понимать, что задает каждый параметр.