Соединение C ++ с Windows Azure Storage - PullRequest
0 голосов
/ 01 апреля 2012

У меня следующая ситуация:

У меня есть приложение, которое собирает некоторые данные с некоторых датчиков.Приложение написано на C ++.Мне нужен какой-то способ отправки данных (блобов) в хранилище Windows Azure.Данные будут обрабатываться каким-то центральным сервером в другом месте.Я просто заинтересован в отправке данных (двоичный поток).Есть ли способ подключиться из моего нативного приложения к Azure?Нужна ли мне веб-роль?

Спасибо, Тамаш

Ответы [ 2 ]

4 голосов
/ 01 апреля 2012

Вы можете сделать это.Хранилище BLOB-объектов Windows Azure доступно через независимый от языка REST API .

Обратите внимание, что существуют некоторые более прямые поддерживаемые языковые SDK , которые упрощают взаимодействие с REST API (повторные попытки, подпись HMAC и т. Д.), Но это полностью выполнимо из C ++.

Требуется ли для этого веб-роль (или рабочая роль), зависит одно: работает ли приложение для сбора датчиков в системе, которой можно доверять с помощью «ключей», необходимых для доступа к хранилищу BLOB-объектов Windows Azure,Если этому хосту приложения можно доверять (например, он полностью находится под вашим контролем, например, не работает на рабочем столе клиента или партнера), тогда вполне можно полностью доверять ему с беспрепятственным доступом к вашей учетной записи хранения.Затем приложение сбора датчиков может направлять данные непосредственно в хранилище BLOB-объектов - веб-роль не требуется.

Если вы не можете доверять хосту, на котором выполняется сбор данных датчика, вам потребуется другой такт.У клиента есть способ запросить временный ограниченный доступ к хранилищу больших двоичных объектов.Это известно как подписи общего доступа (SAS) в терминологии Azure / Blob.Клиент, имеющий SAS с истекшим сроком действия, может делать все, что разрешено этим SAS, например, запись в хранилище больших двоичных объектов.Для создания SAS необходимы ключи хранения, упомянутые в предыдущем абзаце.Это будет причиной для развертывания веб-роли - она ​​может генерировать SAS для вас по мере необходимости (например, с помощью веб-службы вашего создания).Схема идентификации доверенных клиентов зависит от того, как вы работаете (я полагаю, что экземплярам приложения для сбора датчиков нужно идентифицировать себя каким-либо доверенным способом - но SAS, выданный одному экземпляру, может позволить ему записывать данные в выделенную область в хранилище BLOB-объектовк этому экземпляру приложения, учетной записи, клиенту, сайту и т. д. - какой бы ни была правильная абстракция для вашего бизнеса).

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

3 голосов
/ 11 декабря 2012

Не уверен, если вы все еще заинтересованы в доступе к хранилищу Azure с C ++, но команда Microsoft работает над этим в течение последних нескольких месяцев.Проверьте библиотеки Касабланки на DevLabs.

http://msdn.microsoft.com/en-us/subscriptions/casablanca.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...