Azure IOT 配置服务中的个人注册无法通过 REST API 运行

2024-03-20

我目前面临着使用提供的 REST API 在 Azure 设备配置服务中进行个人注册的挑战。文档中也存在一些空白。

我正在按照此网址中的官方文档中提到的步骤进行操作:https://learn.microsoft.com/en-us/rest/api/iot-dps/createorupdateindividualenrollment/createorupdateindividualenrollment https://learn.microsoft.com/en-us/rest/api/iot-dps/createorupdateindividualenrollment/createorupdateindividualenrollment

通过免费试用订阅,我创建了物联网中心、设备配置服务并将两者链接起来。截至目前,我正在尝试创建注册组。 REST API 的详细信息如下。

**Request:**
POST /enrollments?api-version=2019-03-31 HTTP/1.1
Host: <my dps Service endpoint name>
Authorization: SAS Token generated from az cli
Content-Type: application/json
Content-Type: text/plain

{"mode":"create",
    "enrollments":  [
        {
    "attestation": {
        "type":"symmetricKey"
    },
    "registrationId": "test1",
    "deviceId":"durg0235"

}]
}

**Response:**

Http Status: 401 Unauthorized
{
    "errorCode": 401002,
    "trackingId": "252fe53f-6c9c-4893-9fc8-500a1965802c",
    "message": "Unauthorized",
    "timestampUtc": "2020-05-01T20:38:28.0522219Z"
}

请让我知道我在这里做错了什么。

注意:文档中存在空白。在文档中,提到会有 Authorization 标头,并且提到我们必须通过调用此 url 来获取令牌:https://login.microsoftonline.com/ https://login.microsoftonline.com/{{tenantId}}/oauth2/token。但实际上我们需要在这里提供 SAS 令牌。

当我提供 AAD 令牌而不是 SAS 令牌时,我发现了此错误。

{ “错误代码”:401002, "trackingId": "f8e3cf88-8d72-46eb-b49b-4d18630ba72b", "message": "无效的授权标头。", “timestampUtc”:“2020-05-01T20:44:11.3709305Z” }


经过大量阅读后,我找到了解决方案。

我们在这里尝试触发的端点属于设备配置服务。因此,当我们提供授权标头时,它应该是生成的 SAS 令牌。然而,我发现了另一个创建 SAS 令牌的链接,但效果不佳。https://learn.microsoft.com/en-us/rest/api/eventhub/generate-sas-token https://learn.microsoft.com/en-us/rest/api/eventhub/generate-sas-token(我按照类似的方法为DPS创建SAS令牌,但失败了)

我发现此命令可用于为您的 DPS 服务创建 SAS 令牌

az iot hub generate-sas-token --duration 3600 --login <primary connection string of your Device Provisoning Service.>

这将提供我们必须使用的正确 SAS 令牌。一旦提供,注册就可以顺利创建

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure IOT 配置服务中的个人注册无法通过 REST API 运行 的相关文章

随机推荐

  • 通过 Windows API 解码 PKCS#7 签名?

    我希望解析并显示从 Window PE 二进制文件的安全目录中提取的 Authenticode PKCS 7 签名的内容 我可以使用 OpenSSL 在命令行上执行此操作 openssl pkcs7 text in extracted si
  • Java 1.6 中的 Try-with-resources 等效项

    我有以下代码 public class Main public static void main String args throws SQLException try Connection conn DBUtil getConnectio
  • React 中的 setInterval 和 setState

    我有一个计时器使用setInterval 在 React 组件中 我不确定启动和停止此间隔的最佳实践是什么state 我遇到了一些异步问题 假设我的 React 组件中有一组链接可以很好地渲染和执行回调 let links 10 50 10
  • “无法读取未定义的属性‘加载’”

    我正在尝试遵循this https developers google com identity sign in web devconsole project与 Google 登录集成的文档 尽管我在控制台中遇到了此错误 Uncaught
  • async/await forEach 和 Promise.all + map 有什么区别

    In 类似问题的接受答案 https stackoverflow com a 37576787 12458473答案指出forEach调用只是抛出一个承诺然后退出 我认为情况应该是这样forEach回报undefined但是为什么下面的代码
  • atexit 被认为有害吗?

    使用是否存在固有的危险atexit在图书馆等大型项目中 如果是这样 背后的技术本质是什么 atexit这可能会导致大型项目出现问题 我避免使用的主要原因atexit在图书馆中 它的任何使用都涉及全局状态 一个好的库应该避免拥有全局状态 然而
  • 在 vue 组件的模板 html 中启用智能感知需要什么?

    我对 Vue 比较陌生 但精通 Typescript 和 Angular 我目前正在走打字稿路线 使用vue 类组件 https github com vuejs vue class component and vue 属性装饰器 http
  • 无法访问 Django 服务器 http://127.0.0.1:8000/

    第一次它工作得很好 但现在显示了这个问题 app python manage py runserver Performing system checks System check identified no issues 0 silence
  • 更改路线不会滚动到新页面的顶部

    当路线改变时 我发现了一些不受欢迎的行为 至少对我来说是这样 在教程的第11步中http angular github io angular phonecat step 11 app phones http angular github i
  • 如何将双精度值和浮点值插入到sqlite中?

    以下是我的数据库创建代码 Override public void onCreate SQLiteDatabase db db execSQL CREATE TABLE TABLE NAME ID INTEGER PRIMARY KEY A
  • 打开跟踪文件时出错:没有这样的文件或目录 (2)

    我收到上述错误 打开跟踪文件时出错 没有这样的文件或目录 2 当我在模拟器上运行我的 Android 应用程序时 有人能告诉我这可能是什么原因吗 我正在使用 android sdk 20 并将以下行添加到 AndroidManifest x
  • 未捕获的 ReferenceError:ReactDOM 未定义

    所以我有Rails应用程序 我安装了react rails gem 设置它并尝试运行测试应用程序 刚安装好后 当我尝试运行 hello world 程序时 发生了以下错误 未捕获的 ReferenceError ReactDOM 未定义 这
  • C#,WinForms 中的双缓冲区?

    private void button3 Click object sender EventArgs e this DoubleBuffered true for int i 0 i lt 350 i using Graphics g th
  • 如何解析 gridstack.js 项目?

    也许这很简单 但我仍在学习 JS 之类的东西 我正在使用插件https github com troolee gridstack js https github com troolee gridstack js并希望在小部件重新定位 调整大
  • Android:购买后使用产品(应用内计费)

    我在应用程序计费方面遇到一些问题 我想在应用程序内创建一个可以多次购买的产品 但谷歌在应用程序内计费的方式是 产品必须先被消费 然后才能再次购买 我用下面的代码尝试过 public class HomeFragment extends Fr
  • 使用 SonarQube Web api 分析项目

    我使用 SonarQube Web api 创建了一个项目 现在我正在尝试分析该项目 我找到了这个 POST api project analyses create event 当我尝试这项服务时 我得到了这样的回复 errors msg
  • jQuery html() 和 &

    我正在人员列表中进行搜索 我希望它能够即时显示结果 所以它确实做到了 但我需要一个链接 它应该如下所示 chatid 18 userid 45 create new 但通过此显示结果后 get ajax php sec search use
  • 经过身份验证后访问 [Authorize] 控制器时收到 404

    我正在尝试在 ASP NET MVC Core 应用程序 NetCore 2 上使用 IdentityServer4 实现身份验证和访问控制 虽然这不是我第一次实现后端 但这是第一次使用 net 并且我正在努力解决一些问题 我已按照以下说明
  • 文本分析:使用 python 查找列中最常见的单词

    我创建了一个数据框 其中只有一个带有主题行的列 df activities filter Subject axis 1 df shape 这返回了这个数据框 Subject 0 Call Out Quadria Capital May Lo
  • Azure IOT 配置服务中的个人注册无法通过 REST API 运行

    我目前面临着使用提供的 REST API 在 Azure 设备配置服务中进行个人注册的挑战 文档中也存在一些空白 我正在按照此网址中的官方文档中提到的步骤进行操作 https learn microsoft com en us rest a