【Azure Services Platform Step by Step-第3篇】赤手空拳玩轉 SQL Data Services(SDS)

來源:互聯網
上載者:User
SDS其實是很友善、很好玩的。 這一節我們不會使用任何的程式設計語言, 流牛木馬將帶領大家,僅靠SDK裡的一個叫做SSDS Explorer小工具來玩轉SDS,熟悉和實現上一篇講述的一些內容。 很有趣的哦~

在申請Azure後,經過耐心漫長地等待,你會收到一封叫做「Do Not Delete! Invitation Code to Microsoft .NET Services and Microsoft SQL Services」的郵件。

終於開始了! 從郵件中複製出Invitation Code,打開HTTP://portal.ex.azure.microsoft.com/,啟動你的SDS

圖片看不清楚? 請點擊這裡查看原圖(大圖)。

啟動後,點擊右上角的Get Started

進入SDS,然後創建一個新的Solution。 注意:一個invitation code只能創建一個Solution.

然後就來到了.NET SERVICES和SQL SERVICES的管理介面

 

點擊頂部的Solution Credentials,修改solution的密碼。 改成一個自己好記的吧:)

 

好了,現在你已經有了自己好記的Solution名和密碼了。

下載SDS的SDK HTTP://www.microsoft.com/downloads/details.aspx?FamilyId=0B1FA5C6-EC9D-440B-939E-481DD05F2627&displaylang=en

安裝SDK.

打開安裝目錄下的SSDS Explorer

 

在這裡我們先複習一下上一篇講的ACE模型。

 

我們的操作順序也是根據這一模型來的。

首先要建立一個Authority,然後在它下面建立不同的Container,最後再在Container下建立多個同類型或者不同類型的Entity。

還是上一篇的例子,與上圖對照,我們可以創建一個叫做"food"的Authority,其下包括名為"fruit"和"vegetable"兩個Container.  Container["fruit"]中包括3個實體,分別是"apple1","apple2","pear1".注意,這裡我們假設五角星代表pear,三角形代表apple。 這樣,在這個  Container["fruit"]就包括了兩種類型的三個Entity。 同樣,在Container["vegetable"]中,我們假設圓形是白菜cabbage,方形是番茄tomato,我們又有了"tomato1","tomato2" ,"cabbage1"三個entity, 它們也屬於兩種不同類型。。

接著我們在複習一下基本操作與HTTP Verb的映射表

HTTP VerbSDS OperationGETFetch,Query 查詢POSTCreate  新建PUTUpdate 修改DELETEDelete  刪除

好了,夠了,開工! 進入SSDE Explorer!!

圖片看不清楚? 請點擊這裡查看原圖(大圖)。

第一步當然是創建Authority.直接點擊右邊的 按鈕

此時文字方塊裡會出現這樣一段

在<s:Id>與</s:Id>中間輸入Authority的名字,我這了就叫做food了。 輸入完成後點擊 (因為根據上面的映射表,「新建」操作對應的HTTP Verb是"POST")

此時可能會彈出Credentials對話方塊,輸入剛剛設置的Solution名字和密碼即可。

如果操作成功,底部的狀態框會出現 。 如果出現的是 ,說明操作有誤,請根據錯誤提示進行更改。

操作成功後,頂部的網址列會變成

對了,這就是這個Authority的URI了。 上一篇裡說了,對這個Authority的所有操作,其實就是對這個URI的HTTP操作。

現在我們來建立兩個叫做"fruit"和"vegetable"的Container

點擊 ,在<s:Id>和</s:Id>中輸入"fruit",此時文字方塊如下圖

點擊 ,狀態列變成。

網址列裡顯示的URI是HTTPs://food.data.database.windows.net/v1/fruit,對了,這就是"fruit"這個Container的URI

現在就是在fruit中加入具體的Entity了。 (vegetable類似,略)。

我們假設fruit中有兩種Entity,

一種是Apple,包括的屬性如下:

屬性名WeightColorAvailabilityRecordDate類型DecimalStringBooleanDateTime

另一種是Pear,包括的屬性如下

屬性名WeightIsPopularProducingArea類型DecimalBooleanString

現在我們來添加第一個Apple: "apple1"

由於我們是要在fruit這個container中插入Entity,所以操作時請保持URI為HTTPs://food.data.database.windows.net/v1/fruit

點擊右邊的

將預設的<Entity />標籤對的名字改為<Apple />

在<s:Id/>標籤對中輸入"apple1"

點擊右邊的屬性區,依次添加屬性。 屬性名就是節點標籤名字,請注意更改。

描述屬性的節點內有一個叫做"xsi:type"的attribute,表示當前節點的類型。

如<Weight xsi:type="x:decimal">1.2</Weight >,定義了一個叫做Weight的String屬性,它的值是1.2。

apple1的最終外觀如下:

同樣的方法我們可以添加apple2

 

再添加Pear類型的pear1

 

呵呵,這樣就添加完了。 如果這個時候我想修改 apple1呢? 只需要在網址列中輸入HTTPs://food.data.database.windows.net/v1/fruit/apple1,點擊 ,修改好後再點擊 即可。 (PUT對應UPDATE操作) 刪除呢? 呵,一個碩大的 出現在底部,就不用我說了吧?

接下來我們就可以使用LINQ來玩弄它了!

基本語法如下

from e in entities [where condition] order by [property] select e

運算子和布林操作符

 

比如,我們現在可以在網址列中輸入HTTPs://food.data.database.windows.net/v1/

在查詢框中輸入from e in entities where e.Id=="fruit" select e,點擊

此時文字方塊中就會出現fruit這個Container的內容。 簡單吧?

讓我們循序漸進:

網址列輸入HTTPs://food.data.database.windows.net/v1/fruit

查詢框輸入from e in entities where e.Kind=="Apple" select e,點擊,此時文字方塊中就會展示出apple1和apple2的內容。

再來。

執行查詢from e in entities where e.Kind=="Apple" && e["Color"]=="Red" select e

則只能看到apple2的內容,因為只有apple2的"Color"等於"Red"

讀者走到這裡可能有疑問了。 為什麼是e. Kind和e["Color"]呢? 到底是用"." 還是用"[]"呢? 解釋一下,對於Entity的中繼資料屬性(metadata property),需要使用".",如e. Id,e.Kind;對於普通屬性,則使用"[]",如e["Color"]

讀者可以繼續練習更多:

from e in entities where e.Kind=="Apple" && (e["Color"]!="Red"|| e["Color"]!="Blue") select e  (使用括弧)

from e in entities where e.Kind=="Apple" && (e["Weight"]>=4) select e (使用運算式)

from e in entities where (e["Weight"]>=4) select e(多種Kind的Entity可以混合在一起查詢)

from e in entities where e["RecordDate"]>="2008-12-15" select e(使用日期)

from e in entities select e (取得所有Entity)

from e in entities where e.Id>"pea" select e (字串使用比較符號)

注意: 同一個Kind的Entity可以包含的不同的屬性(不推薦)。 比如我們可以把apple1中的<Availability />屬性刪除掉,完全沒有影響。 可以執行以下查詢進行測試

from e in entities where e["Availability"]==false  && e.Kind=="Apple" select e

怎麼樣? 很簡單很有趣吧?

「赤手空拳」與SDS「肉搏"到此為止。 在下一篇中,我們將使用C#語言,對以上所有的操作進行程式設計實現,敬請關注。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.