Доступ к данным на Amazon DynamoDB через JavaScript - PullRequest
7 голосов
/ 07 февраля 2012

1) Клиентский доступ: есть ли возможность выполнять операции CRUD на DynamoDB с использованием клиентского JavaScript (REST / Ajax / jQuery)?

Я знаю, что в Amazon есть поддержка .NET и Java.

2) Доступ к серверу: есть ли какой-нибудь способ, которым мы можем получить доступ к DynamoDB с помощью серверного JavaScript (Node.js) без необходимости устанавливать Java / .NET на сервер?

Ответы [ 4 ]

16 голосов
/ 07 февраля 2012

Обновление 2012-12-05

В настоящее время существует официальный AWS SDK для Node.js , подробности см. Во вступительном посте AWS SDK для Node.js - теперь доступен в форме предварительного просмотра . поддерживаемые услуги:

SDK поддерживает Amazon S3 , Amazon EC2 , Amazon DynamoDB , а также Сервис Amazon Simple Workflow , с поддержкой дополнительных сервисов на чертежной доске. [Акцент мой]


Обновление 2012-02-27

Wantworthy реализовал модуль Node.js для доступа к Amazon DynamoDB через неделю после даты запуска, что также охватывает 2), см. динод

Dynode разработан, чтобы быть простым и легким способом работать с Amazon Сервис DynamoDB. Http API Амазонки сложен и неочевиден взаимодействовать с ним. Этот клиент стремится предложить упрощенный более очевидный способ работы с DynamoDB, но не мешая или ограничение того, что вы можете сделать с DynamoDB.


Обновление 2012-02-11

Peng Xie внедрил модуль Node.js для доступа к Amazon DynamoDB в основном на дату его запуска, таким образом охватывая 2), см. dynamoDB

DynamoDB использует JSON для связи. [...] Этот модуль завершает запрос и заботится об аутентификации. Пользователь будет нести ответственность за составление запроса и использование результата.


К сожалению, на сегодняшний день нет официального / полного JavaScript SDK для AWS (см. Комплекты для разработки программного обеспечения AWS и boto [Python] для доступных предложений).

К счастью, приличное покрытие для нескольких сервисов AWS в JavaScript обеспечивается библиотекой Node.js aws-lib , хотя это было бы хорошей отправной точкой для добавления DynamoDB соответственно. На сегодняшний день нерешенный запрос на добавление Добавить поддержку DynamoDB уже подан.

Кроме того, пользователь форума AWS gmlvsk3 недавно реализовал выделенный интерфейс JavaScript для DynamoDB , но предположительно вам требуется [a] среда выполнения Java для его запуска , потому что он основан на движке JavaScript Mozilla Rhino - я еще не рассматривал код подробно (на первый взгляд он выглядит немного незрелым, хотя по сравнению, например, с aws-lib , но может покрыть ваши потребности независимо от курса), поэтому вы должны проверить это сами.

Наконец, вы можете самостоятельно реализовать JavaScript HTTP-запросы к Amazon DynamoDB (подробности см. В справочнике по API для Amazon DynamoDB ):

Если вы не используете один из AWS SDK, вы можете запустить Amazon DynamoDB операции по HTTP с использованием метода запроса POST. Метод POST требует указать операцию в заголовке запроса и предоставить данные для операции в формате JSON в теле запрос.

1 голос
/ 20 ноября 2013

Что касается 1), теперь в браузере есть AWS SDK для JavaScript , который позволяет получать доступ к службам, включая DynamoDB .

1 голос
/ 10 апреля 2013

Я создал модуль с именем Dino , чтобы упростить работу с AWS SDK в веб-приложениях. Вы можете использовать что-то вроде Restify , чтобы предоставить ваши данные jQuery через интерфейс REST.

Предположим, вы хотите отобразить страницы сообщений в блоге для пользователя. Используя Dino и Restify, вы сделаете следующее:

server.get('/posts/:user_id', function(req, res, next){
    Post.find({
        match: {
            user_id: req.params.user_id
        },
        skip: req.params.skip || 0,
        take: req.params.take || 10
    }, function(err, posts){
        return res.send(posts.toJSON());
    });
});
0 голосов
/ 29 мая 2012

как и для 2) мы также работаем с даты запуска DDB. Одной из его ключевых особенностей является простота / производительность и то, насколько близко (поведение при повторных попытках и т. Д.) К официальным библиотекам Java / PHP Amazon:

https://github.com/teleportd/node-dynamodb

Он успешно используется в производстве в различных местах со скоростью записи 100+ в секунду (на teleportd). Кроме того, мы работаем над фиктивной версией, чтобы обеспечить эффективное тестирование клиентского кода библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...