微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过Web Activity使用Azure Event Hub进行数据工厂MSI身份验证

如何解决通过Web Activity使用Azure Event Hub进行数据工厂MSI身份验证

我正在尝试通过Data Factory的Web活动将消息发送到事件中心。

“我的数据工厂”使用系统分配的受管理身份(MSI)进行设置,并且该身份已在事件中心命名空间(RBAC / IAM)上被赋予“ Azure事件中心数据发送者”角色。

Web活动设置如下:

{
    "name": "Send to Event Hub","type": "WebActivity","dependsOn": [],"policy": {
        "timeout": "7.00:00:00","retry": 0,"retryIntervalInSeconds": 30,"secureOutput": false,"secureInput": false
    },"userProperties": [],"typeProperties": {
        "url": "https://<eventhubnamespace>.servicebus.windows.net/<eventhub>/messages?timeout=60&api-version=2014-01","method": "POST","body": {
            "deviceid": "dev-01","Temperature": "37.0"
        },"authentication": {
            "type": "MSI","resource": "https://servicebus.azure.net"
        }
    }
}

不幸的是,该请求似乎总是未经授权的。网络活动失败,并显示以下消息:

{
    "errorCode": "2108","message": "Invoking Web Activity Failed with HttpStatusCode - 'Unauthorized'.","failureType": "UserError","target": "Event Hub","details": []
}

我还尝试根据send event REST API docs指定Content-Type标头,但这没什么区别。

根据this article,应该可以使用带有OAuth2.0 Bearer令牌的服务主体针对事件中心进行身份验证。我的理解是,ADF的MSI与服务主体没有什么不同,除了我不必自己管理机密和令牌。我想念什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。