Я опытный разработчик Windows C#, но новичок в мире Azure, и поэтому пытаюсь выяснить «лучшую практику», когда я реализую одну или несколько приложений Azure Cloud Services.Azure File System - Могу ли я «смотреть» или только опрос?
У меня есть несколько внешних (внешних и внешних элементов), которые могут сохранять файлы в папку (или, возможно, набор папок). В текущем состоянии моей системы под Windows у меня есть FileSystemWatcher, настроенный для контроля за папкой и создания события, когда там появляется файл.
В мире Azure, каков эквивалентный способ сделать это? Или есть?
Я знаю, что могу создать таймер (или спать), чтобы пройти некоторое время (скажем, 30 секунд), и опросить папку, но я просто не уверен, что это «лучший» способ в облачной среде.
Важно отметить, что я не контролирую входы - другими словами, файлы сохраняются внешним устройством, над которым я не контролирую; поэтому я не могу, например, нажать сообщение в очередь при сохранении файла и ответить на это сообщение ...
Хотя, в конце концов, это цель ... Поэтому я намерен услугу «Наблюдатель», которая (через события или опрос) обнаруживает наличие одного или нескольких файлов и вытаскивает сообщение в соответствующую очередь для следующего шага в моем рабочем процессе, на который нужно ответить.
Следует отметить, что я использую VS2015 и последние материалы Azure SDK, поэтому я не ограничен никаким наследием.
То, что я до сих пор в основном это (фрагмент более крупного базового кода):
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 (или ... пытаюсь ...) –
Я добавил фрагмент кода к моему первоначальному вопросу, поэтому, надеюсь, вы (или другие) можете предоставить более конкретные руководство о том, как делать то, что я пытаюсь сделать. Благодаря! –