Я пытаюсь использовать AWS SimpleDB Javascript SDK. Здесь веб-страница с моим script:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script src="https://dl.dropboxusercontent.com/u/4111969/aws-sdk-2.1.39.js"></script>
<script type="text/javascript">
AWS.config.update({accessKeyId: 'MYKEY', secretAccessKey: 'MYSECRET'});
AWS.config.region = 'us-east-1';
AWS.config.logger = console;
</script>
<script>
var simpledb = new AWS.SimpleDB({region:'us-east-1'});
var params = { MaxNumberOfDomains: 1 };
simpledb.listDomains(params, function(err, data) {
if (err) console.log(err, err.stack);
else console.log(data);
});
</script>
</body>
</html>
Когда я запускаю эту веб-страницу, я получаю эту ошибку:
XMLHttpRequest не может загрузить https://sdb.amazonaws.com/. В запрошенном ресурсе нет заголовка "Access-Control-Allow-Origin". Поэтому исходный 'null' не допускается. В ответе был код статуса HTTP 400.
Я думаю, что это связано с политикой CORS. Но я не могу найти способ настроить CORS для SimpleDB, поэтому я установил AddOn в браузер, который позволяет запросить любой сайт с ajax из любого источника.
При включенном AddOn я получаю другую ошибку:
XMLHttpRequest не может загрузить https://sdb.amazonaws.com/. Недействительный код состояния HTTP 400
Я попытался запустить этот script из локального файла и разместил его на AWS S3. Я все равно получаю ту же ошибку. Я уверен, что база данных существует в моей учетной записи, и я могу получить к ней доступ с помощью других инструментов. Но мне нужно получить к нему доступ с помощью JavaScript. Что я делаю неправильно?