Rest API 调用似乎不适用于 Azure - DPS 注册组。邮递员中的 API 调用没有响应。
关注以下网址
如果您能够执行 REST API 调用,请告诉我。
您需要生成用于服务 API 身份验证的安全令牌。您可以从文章服务API身份验证中找到生成令牌所需的示例。这是我为代币生成测试过的示例。
from base64 import b64encode, b64decode
from hashlib import sha256
from time import time
from urllib.parse import quote_plus, urlencode
from hmac import HMAC
import requests
import json
def main():
ttl = time() + 3600
uri = '{yourdpsservicename}.azure-devices-provisioning.net/enrollmentGroups'
sign_key = ("%s\n%d" % ((quote_plus(uri)), int(ttl))).encode('utf-8')
#sign_key = "%s\n%d" % ((quote_plus(uri)), int(ttl))
print(sign_key)
signature = b64encode(HMAC(b64decode('key'), sign_key, sha256).digest())
rawtoken = {
'sr' : uri,
'sig': signature,
'se' : str(int(ttl)),
'skn' : 'provisioningserviceowner'
}
print('SharedAccessSignature ' + urlencode(rawtoken))
if __name__ == "__main__":
main()
请确保替换 URI 中的 DPS 服务名称和签名中的密钥值
您应该获得类似于以下值的签名。
将此令牌添加到邮递员
Authorization
标头中。找到下面的图片作为参考。
API 还要求您通过认证机制进行注册。我已经使用对称密钥证明测试了 API 调用,方法是在请求正文中传递如下密钥
如您所见,API 返回
200 OK
响应并提供有关注册组的详细信息。可以从 Azure 门户 DPS 管理注册选项卡验证创建的注册组。
希望这有帮助!