Visual Studio 事件中心设置中的诊断配置错误
Visual Studio diagnostics configuration error in event hub set up
我正在尝试通过诊断配置设置从 Azure VM 规模集到事件中心的流式传输。
我有我的 public 配置,其中包括 SinksConfig 如下(为了简洁起见,我省略了配置的其余部分):
{
"WadCfg": {
"DiagnosticMonitorConfiguration": {
*** config for performance counters and ETW ***
"SinksConfig": {
"Sink": [
{
"name": "eventhub",
"EventHub": {
"Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
"SharedAccessKeyName": "RootManageSharedAccessKey"
}
}
]
}
},
"StorageAccount": "<storageaccount>"
}
和私有配置:
{
"storageAccountName": "<storageaccountname>",
"storageAccountKey": "<storageaccountkey>",
"storageAccountEndPoint": "https://core.windows.net",
"EventHub": {
"Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
"SharedAccessKeyName": "RootManageSharedAccessKey",
"SharedAccessKey": "<sharedaccesskey>"
}
}
但是,事件中心没有收到任何信息。我可以在存储帐户日志中看到诊断扩展是 运行:
但在子状态中,SAS 密钥和事件中心有很多错误:
当我再次查看规模集上的 Visual Studio 诊断配置时,我看到了这个错误:
我已经检查了 SharedAccessKeyName 的命名约定(这是设置事件中心时提供的默认设置),知道 SAS 密钥在我编写控制台应用程序以将消息发送到与相同的凭据,它工作正常。
因此事件中心的身份验证显然存在问题,因为它无法从配置文件中读取访问密钥。但是,我看不到提供它的任何其他方式。
我的配置中是否遗漏了一些明显的东西?
事实证明问题很简单,我从门户中的连接字符串中获取了 URL
sb://myhub.servicebus.windows.net/mycompanyapplication
什么时候应该
https://myhub.servicebus.windows.net/mycompanyapplication
现在数据可以自由地流入事件中心。
但是,VS 中的诊断配置仍然显示无法读取 SAS 密钥的警告,现在看起来像 "red herring",最终花费了我很多时间:(
我正在尝试通过诊断配置设置从 Azure VM 规模集到事件中心的流式传输。
我有我的 public 配置,其中包括 SinksConfig 如下(为了简洁起见,我省略了配置的其余部分):
{
"WadCfg": {
"DiagnosticMonitorConfiguration": {
*** config for performance counters and ETW ***
"SinksConfig": {
"Sink": [
{
"name": "eventhub",
"EventHub": {
"Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
"SharedAccessKeyName": "RootManageSharedAccessKey"
}
}
]
}
},
"StorageAccount": "<storageaccount>"
}
和私有配置:
{
"storageAccountName": "<storageaccountname>",
"storageAccountKey": "<storageaccountkey>",
"storageAccountEndPoint": "https://core.windows.net",
"EventHub": {
"Url": "sb://myhub.servicebus.windows.net/mycompanyapplication",
"SharedAccessKeyName": "RootManageSharedAccessKey",
"SharedAccessKey": "<sharedaccesskey>"
}
}
但是,事件中心没有收到任何信息。我可以在存储帐户日志中看到诊断扩展是 运行:
但在子状态中,SAS 密钥和事件中心有很多错误:
当我再次查看规模集上的 Visual Studio 诊断配置时,我看到了这个错误:
我已经检查了 SharedAccessKeyName 的命名约定(这是设置事件中心时提供的默认设置),知道 SAS 密钥在我编写控制台应用程序以将消息发送到与相同的凭据,它工作正常。
因此事件中心的身份验证显然存在问题,因为它无法从配置文件中读取访问密钥。但是,我看不到提供它的任何其他方式。
我的配置中是否遗漏了一些明显的东西?
事实证明问题很简单,我从门户中的连接字符串中获取了 URL
sb://myhub.servicebus.windows.net/mycompanyapplication
什么时候应该
https://myhub.servicebus.windows.net/mycompanyapplication
现在数据可以自由地流入事件中心。
但是,VS 中的诊断配置仍然显示无法读取 SAS 密钥的警告,现在看起来像 "red herring",最终花费了我很多时间:(