6

में संदर्भ ब्लॉब स्टोरेज डेटा मैं बस सोच रहा था कि एसक्यूएल एज़ूर टेबल कॉलम में एज़ूर ब्लॉब स्टोरेज डेटा का संदर्भ देना संभव है या नहीं?एसक्यूएल एज़ूर

उदाहरण के लिए, मैं अपने एसक्यूएल Azure डेटाबेस में एक मेज कहा जाता है उपयोगकर्ता है का कहना है, कि तालिका में स्तंभों में से एक UserImage है, और बदले UserImage एक varbinary(MAX) के रूप में बनाने और तालिका में सीधे इमेज डेटा के भंडारण की, मैं करूंगा इसके बजाय ब्लॉब स्टोरेज में छवि डेटा को स्टोर करना चाहते हैं, ब्लॉब डेटा का संदर्भ प्राप्त करें और उस संदर्भ को UserImage (varchar ??) डेटाबेस में कॉलम में संग्रहीत करें, और फिर किसी भी तरह, उपयोगकर्ता तालिका से पंक्तियों को पढ़ते समय, एक्सेस करें उस डेटा के संदर्भ का उपयोग कर ब्लॉब स्टोरेज से संबंधित छवि डेटा।

मैं यह पूछ रहा हूं क्योंकि ब्लैक स्टोरेज बाइनरी/ब्लॉब डेटा से सीधे एसक्यूएल एज़ूर के भीतर उपयोग करने के लिए काफी सस्ता है।

उत्तर

3

आप एसक्यूएल एज़ूर में छवि को यूआरएल स्टोर करने में सक्षम होना चाहिए और क्लाइंट प्रोग्राम यूआरएल को पार्स कर सकता है और यूआरएल से छवि प्रदर्शित कर सकता है।

मैं एसक्यूएल एज़ूर सीधे ब्लॉब स्टोरेज पर जाने के किसी भी तरीके से नहीं सोच सकता, और न ही मुझे इसकी आवश्यकता दिखाई दे रही है क्योंकि अधिकांश क्लाइंट प्रोग्राम यूआरएल के साथ-साथ बीएलओबी के साथ काम करने में सक्षम होंगे।

+0

आपको बहुत बहुत धन्यवाद। यह वही है जो मैं बिल्कुल पूछ रहा था, यह सुनिश्चित नहीं था कि यह एक यूआरएल या guid था या ऐसा कुछ मैं एसक्यूएल एज़ूर पर तालिका में स्टोर कर सकता था, और उसके बाद छवि प्राप्त करने के लिए ब्लॉब स्टोरेज पूछने के लिए बाद में इस यूआरएल/पहचानकर्ता का संदर्भ । –

4

तुम बस यहाँ एसक्यूएल Azure में छवि यूआरएल संग्रहीत करना चाहिए, ब्लॉब संग्रहण करने के लिए एक छवि अपलोड करें और अपने यूआरएल पाने के लिए एक लघु स्निपेट है:

// 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 स्टोर करने के लिए है ।

0

हाँ .... आप क्या कर सकते हैं कि SQL Azure में यूआरएल या कुछ अन्य जगह भंडारण और उसके बाद URL हो रही है और ब्लॉब ऑब्जेक्ट के लिए यह पारित करके

void DoSthWithBlob(Uri blobUri, StorageCredentials credentials){ 
    var blob = new CloudBlob(blobUri, credentials); 
    blob.FetchAttributes();   
} 
संबंधित मुद्दे