0

У меня есть служба приложений Azure и учетная запись Azure Storage. Я знаю, что для службы приложений есть сервер/vm, но я явно не запускал машину.Могу ли я сопоставить букву диска с файлом Azure Storage из моей службы приложений Azure (не VM)

Я пытаюсь импортировать данные из базы данных доступа, которые будут регулярно загружаться в файл в моей учетной записи хранилища. Я хотел бы использовать Azure WebJob для работы в фоновом режиме.

Я пытаюсь использовать DAO для чтения данных:

string path = @"\\server\share\folder\datbase.mdb"; 
DBEngine dbe = new DBEngine(); 
Database db = dbe.OpenDatabase(path); 
DAO.Recordset rs = db.OpenRecordset("select * from ..."); 

Это работает, когда я запускаю его на месте, но когда я пытаюсь запустить его в веб-доступ к работе Обменник на моем счете хранения, он не находит файл. Я предполагаю, что это потому, что DBEngine ничего не знает о именах и ключах безопасности Azure и Azure, не отправляет их, а Azure Storage не отвечает.

Так что я хотел бы попробовать, чтобы увидеть, могу ли я сопоставить Azure Storage Fileshare на сервере, лежащем в основе моего приложения. Я пробовал разные вещи, но каждый раз получал варианты «Доступ запрещен». Я пробовал:

  • Запуск чистого использования T: \ name.file.core.windows.net \ azurefileshare /и: имя ключа из консоли App службы в Azure Portal
  • Запуск чистого использования с процесс в моей webjob
  • , ссылающегося WNetAddConnection2 из моей webjob

Похоже, что сервер заблокирован плотно. Есть ли у кого-нибудь идеи о том, как я могу сопоставить файл-файл на базовом сервере?

Большое спасибо

ответ

0

Как я знаю, Azure веб-приложение работает в sandbox. мы не смогли сопоставить общий доступ к файлу Azure в веб-приложении Azure. Таким образом, хранилище файлов Azure является хорошим местом, если вы выбираете веб-приложение Azure. По моему опыту, для вас есть обходные пути. Надеюсь, это даст вам несколько советов.

1) Используйте хранилище файлов Azure, но выберите службу Azure VM или Cloud как службу хоста.

2) Все еще выбирайте веб-приложение Azure как хост-сервис, но включите доступ db в решение и загрузите его в веб-приложение Azure.

3) Вместо этого выберите SQL Azure в качестве базы данных. Вот the article, который может помочь нам перенести базу данных доступа в SQL Azure

+0

Hi Jambor, спасибо за ваши предложения.1) - это вариант, я просто пытаюсь выяснить, есть ли способ избежать использования виртуальной машины в дополнение к моей службе приложений. Еще раз спасибо. – Beau

0

В конце концов, как справедливо говорит Jambor, виртуальная машина App App закрыта.

Однако, оказывается, что виртуальная машина службы приложений содержит некоторое местное временное хранилище для использования различных компонентов, работающих на виртуальной машине.

Это на D: \ local \ Temp \ и может быть написано веб-заданием.

Интересно, что это логическая папка на другом ресурсе/диске из D: \ local, а размер этого дополнительного хранилища зависит от шкалы App Service.