मैं एक अनुभवी विंडोज सी # डेवलपर हूं, लेकिन एज़ूर की दुनिया में नया हूं, और इसलिए एक "सर्वश्रेष्ठ अभ्यास" को समझने की कोशिश कर रहा हूं क्योंकि मैं एक या अधिक Azure क्लाउड सर्विसेज को लागू करता हूं।Azure फ़ाइल सिस्टम - क्या मैं "देख सकता हूं" या केवल मतदान कर सकता हूं?
मेरे पास कई (बाहरी, और मेरे नियंत्रण के बाहर) स्रोत हैं जो सभी फ़ाइलों को किसी फ़ोल्डर (या संभवतः फ़ोल्डर का एक सेट) में सहेज सकते हैं। विंडोज के तहत मेरे सिस्टम की वर्तमान स्थिति में, मेरे पास एक फ़ाइल सिस्टम सिस्टम स्थापित करने के लिए एक फ़ाइल सिस्टम सिस्टम स्थापित किया गया है और जब कोई फ़ाइल वहां दिखाई देती है तो एक ईवेंट बढ़ाते हैं।
Azure की दुनिया में, ऐसा करने के बराबर तरीका क्या है? या वहाँ है?
मुझे पता है कि मैं कुछ समय (30 सेकंड कहता हूं) पास करने के लिए टाइमर (या नींद) बना सकता हूं, और फ़ोल्डर को मतदान कर सकता हूं, लेकिन मुझे यकीन नहीं है कि क्लाउड पर्यावरण में "सर्वश्रेष्ठ" तरीका है।
यह ध्यान रखना महत्वपूर्ण है कि मेरे पास इनपुट पर कोई नियंत्रण नहीं है - दूसरे शब्दों में फाइलें बाहरी डिवाइस द्वारा सहेजी जाती हैं जिन पर मेरा कोई नियंत्रण नहीं होता है; इसलिए, उदाहरण के लिए, फ़ाइल को सहेजने पर एक संदेश को कतार पर धक्का नहीं दे सकता है, और उस संदेश का जवाब ...
हालांकि, अंत में, यह लक्ष्य है ... तो मेरा इरादा है एक "वॉचर" सेवा जो (घटनाओं या मतदान के माध्यम से) एक या अधिक फ़ाइलों की उपस्थिति का पता लगाएगी, और जवाब देने के लिए मेरे वर्कफ़्लो में अगले चरण के लिए उपयुक्त कतार पर एक संदेश दबाएगी।
यह ध्यान दिया जाना चाहिए कि मैं वीएस2015 का उपयोग कर रहा हूं, और नवीनतम एज़ूर एसडीके सामान, इसलिए मैं किसी भी विरासत से सीमित नहीं हूं।
storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
// Create a CloudFileClient object for credentialed access to File storage.
fileClient = storageAccount.CreateCloudFileClient();
// Obtain the file share name from the config file
string sharenameString = CloudConfigurationManager.GetSetting("NLRB.Scanning.FileSharename");
// Get a reference to the file share.
share = fileClient.GetShareReference(sharenameString);
// Ensure that the share exists.
if (share.Exists())
{
Trace.WriteLine("Share exists.");
// Get a reference to the root directory for the share.
rootDir = share.GetRootDirectoryReference();
//Here is where I want to start watching the folder represented by rootDir...
}
अग्रिम धन्यवाद:
मैं अब तक क्या किया है मूल रूप से इस (एक बड़ा कोड बेस का एक टुकड़ा) है।
यह अच्छा लगता है, और मैं Azure फ़ाइल सेवा (या ... कोशिश कर रहा हूं ...) –
मैंने अपने मूल प्रश्न में एक कोड स्निपेट जोड़ा है, इसलिए उम्मीद है कि आप (या अन्य) अधिक विशिष्ट प्रदान कर सकते हैं मैं क्या करने की कोशिश कर रहा हूं पर मार्गदर्शन करने के लिए मार्गदर्शन। धन्यवाद! –