簡體   English   中英

SQL azure中的參考blob存儲數據

[英]Reference blob storage data in SQL azure

我只是想知道是否可以在SQL Azure表列中引用azure blob存儲數據?

例如,假設我的SQL Azure數據庫中有一個名為Users的表,該表中的一列是UserImage ,而不是將UserImage創建為varbinary(MAX)並將圖像數據直接存儲在表中,我會改為想要將圖像數據存儲在blob存儲中,獲取對blob數據的引用並將該引用存儲在數據庫的UserImagevarchar ??)列中,然后以某種方式,當從Users表中讀取行時,訪問相關聯的來自blob存儲的圖像數據,使用對該數據的引用。

我問這個是因為blob存儲使用比直接在SQL Azure中的二進制/ blob數據便宜得多。

您應該只將圖像存儲在SQL Azure中,這是一個簡短的片段,用於將圖像上傳到Blob存儲並獲取其Url:

    // Fake stream that contains your image to upload
    Stream data; 

    // Get a handle on account, create a blob service client and get container proxy
    var container = Account.CreateCloudBlobClient()
                        .GetContainerReference("my-fake-container");

    // Create a blob in container and upload image bytes to it
    var blob = container.GetBlobReference("my-fake-id");
    blob.Properties.ContentType = "image/jpeg";
    blob.UploadFromStream(data);

    // Get your iage Url in the Blob storage
    var imageUrl = blob.Uri;

您現在只需要將imageUrl存儲在您的行中。

您應該能夠將URL存儲到SQL Azure中的映像,並讓客戶端程序解析URL並顯示URL中的圖像。

我想不出有任何方法可以讓SQL Azure直接進入Blob存儲,我也不需要這樣做,因為大多數客戶端程序都可以使用URL以及BLOB。

是....你可以通過在SQL Azure或其他地方存儲url,然后獲取url並將其傳遞給blob對象來實現

void DoSthWithBlob(Uri blobUri, StorageCredentials credentials){
    var blob = new CloudBlob(blobUri, credentials);
    blob.FetchAttributes();           
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM