#azure #download #onedrive #auto-update #labview
Вопрос:
Я хочу создать стартер приложения labview, который может проверить версию основного приложения и в конечном итоге загрузить и обновить файл .exe, который хранится в моем onedrive или даже каким-то образом в azure.
Я сказал azure, потому что я думаю, что с ним должен быть какой-то вариант… Но я не могу подобрать правильные ключевые слова
У кого-нибудь есть какой-нибудь совет, которым можно поделиться?
Ответ №1:
Преимущество того, что LabVIEW является приложением более высокого уровня, заключается в том, что он предоставляет вам доступ к этой маленькой vi:
Это System Exec VI, который позволяет запускать общие сценарии командной строки из LabVIEW. Поэтому, если вы можете найти команду Windows для принудительной синхронизации или пакетный файл, вы можете взаимодействовать с внешними программами. Пример пакетного файла там должен работать с OneDrive, но, немного поохотившись, вы сможете найти что-то для работы с Azure.
P.S. Взгляните на «Командную строку Execution.vi» Пример из LabVIEW, чтобы узнать больше о том, как работает этот vi.
Комментарии:
1. Привет! Спасибо за ответ…. Я уже использую этот vi, но я искал, как получить практический доступ к файлу onedrive и загрузить его по определенному пути… Теперь я копаюсь в microsoft graph, чтобы получить api, который выполняет эту работу… Но, во-первых, я не знаю, правильный ли это путь, а во-вторых, я не добиваюсь никакого существенного прогресса…
Ответ №2:
Я написал аналогичный код, который загружает и устанавливает новые версии с AWS S3. Это реальная экономия времени и стоит усилий, чтобы приступить к работе.
Я не взаимодействовал с OneDrive, но из документации это выглядит немного проще, чем AWS S3, потому что Microsoft принимает токены OAuth2 по сравнению с более сложной версией подписи AWS 4. Если вы используете LabVIEW, вам потребуется использовать функции HTTP-клиента для взаимодействия с удаленной службой. Я рекомендую начать с клиентского инструментария JKI HTTP REST API. Этот инструментарий устраняет недостаток в функции HttpClient:OpenHandle (она глобально блокируется!), поддерживая пул соединений.
Документация от Microsoft выглядит довольно хорошо; в основном то, что вы хотите сделать, это открываем http сессию на конечную точку авторизации, запросить маркер доступа, закрыть http-сеанса, открываем http сессию и OneDrive конечной точки, формат токен в Authorization: bearer
заголовок, добавить заголовок заседание, представить список файлов по запросу, найти свой файл, отправить запрос, сохранить вывод в файл, закрыть http-сеанса.
По пути вам нужно будет проанализировать ответы JSON API. Поскольку встроенный в NI анализатор JSON довольно негибок, я рекомендую JKI JSON. Оба инструмента JKI проще всего установить с помощью VIPM, который по умолчанию установлен в последних выпусках LabVIEW.
Комментарии:
1. Привет, Роберт, спасибо за поддержку, один вопрос: знак, о котором вы говорите, тот же самый, который я могу получить с этого пути? docs.microsoft.com/it-it/azure/storage/common/…
2. Да, я так считаю: «Вместо этого вы можете запросить маркер доступа OAuth 2.0 с платформы идентификации Microsoft. Azure AD проверяет подлинность участника системы безопасности (пользователя, группы или участника службы), выполняющего приложение».