2012-02-07 57 views
7

1)客戶端訪問:反正是有使用客戶端的JavaScript(REST /阿賈克斯/ jQuery的)上DynamoDB執行CRUD操作?通過JavaScript在亞馬遜DynamoDB訪問數據

我知道亞馬遜有.NET和Java支持。

2)服務器訪問:是否有使用服務器端JavaScript(Node.js的),而無需在服務器上安裝Java/.NET,我們可以訪問DynamoDB什麼辦法?

回答

16

更新2012-12-05

現在有一個官方AWS SDK for Node.js,詳見介紹後AWS SDK for Node.js - Now Available in Preview Form,這裏是最初支持服務:

SDK支持Amazon S3Amazon EC2Amazon DynamoDB,和 Amazon Simple Workflow Service,支持附加服務 在繪圖野豬d。 [重點礦山]


更新2012-02-27

Wantworthy實施了Node.js模塊,用於訪問一個星期Amazon DynamoDB其上市日期之後,從而覆蓋2),以及,見dynode

Dynode的設計是一種簡單易行的工作方式h Amazon的 DynamoDB服務。亞馬遜的http api很複雜,並不明顯,如何與 進行交互。此客戶端的目的是提供與DynamoDB工作的簡化更 明顯的方式,但沒有在你的方式 或限制,你可以用DynamoDB做什麼。


更新2012-02-11

Peng Xie實施了Node.js模塊,用於在其發佈日期基本上訪問Amazon DynamoDB,從而覆蓋2)已經見dynamoDB

DynamoDB使用JSON進行通信。 [...]該模塊包裝請求 並負責認證。用戶將負責 制定請求並消耗結果。


不幸的是沒有官方/完整的JavaScript SDK的AWS截至今天(見可用的產品AWS Software Development Kitsboto [Python])。

在JavaScript的一些AWS服務還好體面的覆蓋面是由節點提供。js庫aws-lib已經有了,相應地添加DynamoDB將是一個很好的起點。截至今天尚未解決的功能請求Add support for DynamoDB已被提交。

此外,AWS論壇用戶gmlvsk3最近實施了專門JavaScript interface for DynamoDB,但據說你需要[A] Java運行時,因爲它是基於Mozilla Rhino JavaScript引擎運行, - 我還沒有審查代碼(乍一看,雖然與aws-lib相比,它看起來有點不成熟,但是可能會涵蓋您的需求),所以您應該自己檢查一下。

最後,你可以實現的JavaScript HTTP Requests to Amazon DynamoDB自己(見API Reference for Amazon DynamoDB瞭解詳細信息)課程:

如果不使用AWS的SDK的一個,您可以使用通過HTTP進行亞馬遜DynamoDB 操作POST請求方法。 POST方法 要求您指定請求標題中的操作, 在 請求的主體中提供JSON格式操作的數據。

0

至於2)自從DDB發佈日期以來,我們一直在努力。它的一個主要特點是簡單/性能及如何關閉它是(重試行爲等),以亞馬遜官方Java/PHP庫:

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

它成功地在生產中使用,在不同的地方有100多個寫/ (在teleportd)。另外,我們正在開發一個模擬版本,以便對庫的客戶端代碼進行高效的測試。

1

我創建了一個名爲Dino的模塊,以便更輕鬆地在Web應用程序中使用AWS SDK。您可以使用類似Restify的內容通過REST界面將數據展示給jQuery。

假設您想顯示用戶的博客文章頁面。使用迪諾和的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

跳過/採取適當的分頁?這是如何實施的?全掃描? – 2013-09-11 04:49:17