2014-10-17 4 views
0

У меня есть приложение на основе vb.net, которое ссылается на базу данных Azure SQL, я создал учетную запись хранилища, в которую я хотел бы хранить файлы из приложения. Я не уверен, как создать эту связь между БД и учетной записью хранилища?Хранение файлов в Azure SQLdatabase

Прохождение через «Файлы данных SQL Server в службе хранения данных Windows Azure» Учебное пособие Я не могу создать URI для шаблона sotrage. Используя Azure Storage Explorer, я выбираю свой контейнер, входящий в систему безопасности, и создаю подпись, которая работает нормально. Когда я проверить URI с «Test в браузере» кнопки я получаю эту ошибку:

<Error> 
<Code>AuthenticationFailed</Code> 
<Message> 
Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature. RequestId:22ab2830-0001-001d-67a0-5460bb000000 Time:2014-10-17T14:06:11.9864269Z 
</Message> 
<AuthenticationErrorDetail> 
Signature did not match. String to sign used was r 2014-10-17T06:00:00Z 2014-10-25T06:00:00Z /macrocitrus/$root 2014-02-14 
</AuthenticationErrorDetail> 
</Error> 

к тому, что это означает, что я понятия не имею. Я совершенно новый пользователь с Windows Azure, поэтому я даже не уверен, что я на правильном пути?

Есть ли какая-либо документация, которая фактически объясняет шаги или что потребуется для обеспечения доступа к хранилищу из базы данных SQL в учетную запись Azure Storage?

+0

Опишите, что вы пытаетесь достигнуть.Это не очень ясно из вопроса. Я знаю ответ на ошибку, которую вы получаете, но я буду ждать больше подробностей от вас, чтобы я мог (надеюсь) предоставить только один ответ. –

+1

Мои извинения, мне интересно, как хранить файлы в базе данных из моего приложения. Я хочу, чтобы пользователи могли загружать файлы, расширять листы распространения и т. Д., Редактировать их, а затем повторно сохранять их обратно в БД в определенных местах. У меня есть база данных, и все работает с моим приложением, но теперь мне нужно иметь возможность загружать и загружать файлы. Правильно ли отвечает учетная запись хранилища? Как я могу включить это в приложение vb.net? –

ответ

0

Я бы не рекомендовал сохранять двоичный контент в базе данных SQL. Вместо этого я бы рекомендовал вам сохранить их в хранилище blob. Вот мои причины для этого:

  • Хранилище Blob предназначено для этой цели.
  • Хранение данных в блочном хранилище намного дешевле, чем хранение данных в базе данных SQL.
  • Сохраняя двоичные данные другими данными, вы излишне делаете уровень доступа к данным более объемным, поскольку все данные будут передаваться через вашу базу данных.

Общий подход к этим сценариям заключается в том, чтобы сохранить двоичные данные в памяти блоба как blob (подумайте о блобах как файлы в облаке). Поскольку каждый blob получает уникальный URL-адрес, вы можете просто сохранить URL-адрес в таблице SQL-базы данных. Поэтому, если мы пойдем с этим подходом, то, что вы будете делать, это сначала загрузить blob в хранилище blob, получить его URL-адрес и затем обновить базу данных.

Если вы ищете для загрузки файлов в хранилище blob, я уверен, что вы найдете множество примеров с исходным кодом (так что я не буду предлагать его здесь :); Я надеюсь, что все в порядке).

Теперь, придя к ошибке, которую вы получаете. В основном ссылка, которую вы создали с помощью Azure Storage Explorer, известна как Shared Access Signature (SAS) URL, которая в основном предоставляет доступ к вашей учетной записи хранения с ограничением по времени/разрешению. Теперь Azure Storage Explorer предоставил вам URL SAS для контейнера. Есть два способа, которые можно использовать, что URL-адрес (если вы предоставлены Read & List разрешения при создании URL SAS:

  • к списку сгустков в этом контейнере, просто добавьте restype=container&comp=list в свой URL, а затем вставьте его в браузере и вы увидите XML-список всех блоков.
  • Чтобы загрузить blob, вам нужно будет вставить имя blob в URL-адрес. Поэтому, если ваш URL-адрес похож на https://[youraccount].blob.core.windows.net/[yourcontainer]?[somestuffhere], а ваше имя блоба myawesomepicture.png, ваш URL SAS для просмотр файла в браузере будет https://[youraccount].blob.core.windows.net/[yourcontainer]/myawesomepicture.png?[somestuffhere]

Я написал сообщение в блоге об использовании подписей общего доступа, которые могут вам пригодиться: http://gauravmantri.com/2013/02/13/revisiting-windows-azure-shared-access-signature/.

+0

Удивительная благодарность за эту информацию! Теперь у меня есть какое-то направление :) –

Смежные вопросы