2014-05-12 4 views
8

मैं एक आवश्यकता है जिसके तहत एक कंपनी एक संबद्ध ब्लॉब भंडारण कंटेनर कंटेनर नाम स्ट्रिंग चर में मैं निम्नलिखित की कोशिश की है पारित कर दिया करने के लिए सेट के साथ अपने storageaccount में बन जाता है के निर्माण पर:।एक ब्लॉब भंडारण कंटेनर बनाएं प्रोग्राम के रूप में

public void AddCompanyStorage(string subDomain) 
    { 
     //get the storage account. 
     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
      System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); 

     //blob client now 
     CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();    

     //the container for this is companystyles 
     CloudBlobContainer container = new CloudBlobContainer("https://mystore.blob.core.windows.net/" + subDomain); 
    } 

हालांकि इसने कंटेनर नहीं बनाया है जैसा कि मैंने उम्मीद की थी, क्या मैं गलत तरीके से इस बारे में जा रहा हूं? क्या यह संभव है?

चीयर्स

उत्तर

18
public void AddCompanyStorage(string subDomain) 
     { 
      //get the storage account. 
      CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
       System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); 

      //blob client now 
      CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();    

      //the container for this is companystyles 
      CloudBlobContainer container = blobClient.GetContainerReference(subDomain); 

      //Create a new container, if it does not exist 
      container.CreateIfNotExists(); 
     } 

कंटेनर नाम के लिए guidline का पालन करें:

  • एक कंटेनर नाम कोई मान्य DNS नाम होना चाहिए,
    के अनुरूप निम्नलिखित नामकरण नियम: कंटेनर नामों को एक अक्षर या
    numbe से शुरू होना चाहिए आर, और केवल अक्षरों, संख्याओं, और डैश (-)
    चरित्र हो सकता है।
  • प्रत्येक डैश (-) वर्ण तुरंत पहले होना चाहिए और उसके बाद एक पत्र या संख्या होनी चाहिए; कंटेनर नामों में लगातार डैश की अनुमति नहीं है।

  • कंटेनर नाम में सभी अक्षरों को लोअरकेस होना चाहिए।

  • कंटेनर नाम 3 से 63 वर्णों से लंबे समय तक होना चाहिए।

+0

चीयर्स ने इसे अन्य पोस्ट पर पाया था :) – Jay

+0

आपके नमूना कोड में एक मामूली त्रुटि; CloudBlobContainer पर विधि ** CreateIfNotExists ** (मौजूद नहीं है) कहा जाता है। अन्यथा धन्यवाद, अच्छा उदाहरण। – sh1rts

2
CloudBlobContainer container = new CloudBlobContainer("https://mystore.blob.core.windows.net/" + subDomain); 

यह सिर्फ CloudBlobContainer वस्तु का एक उदाहरण बनाता है। अपने स्टोरेज खाते में एक कंटेनर बनाने के लिए, आपको इस ऑब्जेक्ट पर CreateIfNotExists या Create फ़ंक्शन पर कॉल करने की आवश्यकता होगी।

बजाय इस कोड का प्रयास करें:

public void AddCompanyStorage(string subDomain) 
    { 
     //get the storage account. 
     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(
      System.Configuration.ConfigurationManager.AppSettings["StorageConnectionString"].ToString()); 

     //blob client now 
     CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();    

     //the container for this is companystyles 
     CloudBlobContainer container = blobClient.GetContainerReference(subDomain); 
     container.CreateIfNotExists(); 

    } 
संबंधित मुद्दे