Подтвердить что ты не робот

Ошибки с AWS SimpleDB Javascript SDK

Я пытаюсь использовать 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. Что я делаю неправильно?

Изменить: Дополнительная информация из консоли браузера

4b9b3361

Ответ 1

В соответствии с этот форум:

В то время как вы можете использовать SimpleDB с Javascript в браузере SDK, как вы заметили, для этого требуется, чтобы CORS был отключен на стороне клиента.

AWS Javascript SDK фактически построен как для браузера, так и для использования на стороне сервера, поэтому многие службы, которые не содержат явной поддержки CORS, доступны.

Javascript в SDK браузера явно поддерживает следующие службы: DynamoDB, SNS, STS, S3, SQS

Оказывается, в настоящее время невозможно использовать SimpleDB AWS SDK через http. запрос для добавления поддержки CORS был отправлен 27 февраля 2014 года, но похоже, что он еще не реализован.