Azure DocumentDB(2)小試 DocumentDB Node.js SDK
在上次 Azure DocumentDB(1)DocumentDB 帳號申請 這篇文章中,我們簡單地介紹了一下 Microsoft 剛剛推出的 Azure DocumentDB,並且帶著大家申請了一個 DocumentDB 帳號。今天,我們要帶著大家寫點程式,在 DocumentDB 上建立 Database 與 Collection,然後新增 Document。 基本資料連上 Microsoft Azure 的 Management Preview Portal: 按下上次釘選在 Startboard 上的 Browse DocumentDB Account 白色方塊,或是按下畫面左邊的 Browse 按鈕,選取 DocumentDB accounts 選項,就會出現目前這個 Azure 帳號申請的所有 DocumentDB 帳號: 再按下上次申請的 DocumentDB 帳號,也就是畫面中的 把 Blade 往下捲一捲,還可以看到這個帳號目前建立了幾個 Database,以 如果按下 Blade 上面藍色的 Quick start 圖示,就會再展開另一個 DocumentDB Quick Start 的 Blade,提供 DocumentDB 的各種資訊: 這時候請按下第一個部分 Start Coding 的 Get your URI and key 連結,記下 URI 與 Primary Key: 以
Primary Key 與 Secondary Key 只要記一組就可以。 安裝 SDK回到 DocumentDB Quick Start 這個 Blade,第二個部分 Get the tools 就可以取得我們今天寫程式需要用到的 DocumentDB SDK,目前提供了四種:
因為我目前暫時不會 C#,也暫時不會 Python,所以只能從使用 JavaScript 語言的 Node.js SDK 與 JavaScript SDK 下手。不過,如果使用 JavaScript SDK 的話,因為要透過 Browser 幫忙呼叫 RESTful API,這時候又會因為 Same Origin Policy 的緣故被擋下來。所以,我們就按下 Get the tools 這一個部分的 Install Node.js SDK 連結,從 Node.js 下手: Node.js SDK 網頁的上半部除了介紹這個 SDK 目前的一些版本資訊之外,最重要的就是如何安裝: 下半部更重要,有 Hello World 範例喔! 因為要以 Node.js 作示範,所以請大家先準備好一個可以開發 Node.js 應用程式的環境。接下來就可以執行 Windows 底下的 Command 視窗或是 OS X 底下的 iTerm 這一類命令列工具,建立一個撰寫 Hello World 的目錄,比方說就叫 mkdir documentdb cd documentdb 然後就可以安裝 DocumentDB 提供的 Node.js SDK: npm install documentdb 再來就是參考剛剛 Node.js SDK 的 Hello World 程式,撰寫一個 // 引入 documentdb 模組 var documentdb = require(“documentdb”); // 透過 DocumentDB 帳號基本資料,建立 DocumentDB 的 DocumentClient 物件 var urlConnection = “http://monster.documents.azure.com”; var auth = { “masterKey”: “G60G..................==” }; var client = new documentdb.DocumentClient(urlConnection, auth); // 定義 Database 與 Collection 的名稱,以及 Document 內容 var databaseDefinition = { “id”: “cities” }; var collectionDefinition = { “id”: “zips” }; var documentDefinition = { “city”: “BEVERLY”, “loc”: [-97.981785, 38.984416], “pop”: 389, “state”: “KS”, “id”: “67423” }; // 透過 Callback 方式呼叫 DocumentClient 物件的 createDatabase、createCollection、與 createDocument 方法 client.createDatabase(databaseDefinition, function(err, database) { if (err) return console.log(err); console.log(“Database created.”); client.createCollection(database._self, collectionDefinition, function(err, collection) { if (err) return console.log(err); console.log(“Collection created.”); client.createDocument(collection._self, documentDefinition, function(err, document) { if (err) return console.log(err); console.log(“Document created with content: “, document); }); }); }); Azure DocumentDB nodejs SDK 網頁提供了 DocumentDB Node.js SDK 所有類別的說明文件: 如果要跟 DocumentDB 互動,最重要的就是先引入 取得 透過剛剛開啟的命令列視窗執行 如果到 Microsoft Azure 的 Management Preview Portal 去看,就可以看到剛剛建立的 按下 小結到目前為止,我們利用上一次申請的 DocumentDB 帳號,透過 DocumentDB 提供的 Node.js SDK,建立了 Database 與 Collection,並且試著新增了一個 Document。詳細的 CRUD 相關操作,就留待下一次再跟大家介紹囉! 切記:DocumentDB Node.js SDK 說明文件寫的內容,不一定是對的喔,還是要以程式真正執行的結果為準! |