首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Azure CLI为Azure IotHub创建会话?

如何使用Azure CLI为Azure IotHub创建会话?
EN

Stack Overflow用户
提问于 2021-01-31 18:51:32
回答 1查看 216关注 0票数 0

在过去,我使用IoTHub Explorer登录并创建会话,然后执行进一步的操作(如调用设备方法)。IoTHub资源管理器已被微软弃用。(我正在做一些应用程序级别的自动化测试)

如何使用azure CLI az创建会话,就像我在浏览器中所做的那样

以下是我在过去所做的:

代码语言:javascript
复制
iothub-explorer login "HostName=..."
iothub-explorer device-method <device> "<method>" ...

下面是我现在要做的:

代码语言:javascript
复制
az iot hub invoke-device-method -l "HostName=..." -n <hub-name> -d <device -method-name <method>

可以看到,我必须为每个对az iot的调用提供-l-option。理想情况下,我可以通过创建会话来避免这种情况。

我尝试使用az login来打开一个网站,这对于测试自动化来说不是很理想。即使在此之后,调用不带-laz iot hub invoke-device-method也会导致异常:AttributeError: 'IotHubResourceOperations' object has no attribute 'config'

我试图生成一个sas-token,但我不确定该如何处理它。

EN

回答 1

Stack Overflow用户

发布于 2021-01-31 23:12:03

结果,我的azure-cli环境没有正确设置:请参考https://github.com/Azure/azure-cli/issues/15461。不要混淆azure-cli的Debian/system包(实际不要使用)和pip安装包。无论是作为用户还是根用户,都可以使用pip执行所有操作。

我创建了一个新的virtualenv来清理它:

代码语言:javascript
复制
$ virtualenv ~/python-venv/azure-venv
$ . ~/python-venv/azure-cli/bin/activate
(azure-venv) $ pip install azure-cli
(azure-venv) $ az login
(azure-venv) $ az iot hub generate-sas-token --duration 3600 -n <hubname> -l <login-string>
(azure-venv) $ az iot hub invoke-device-method -n <hub-name> -d <device --method-name <method>

而且它是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65978228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档