Azure 数据引入到数据资源管理器



我有一个 APIM 策略,它像这样记录到事件中心:-

<log-to-eventhub logger-id="eventhublogger" partition-id="0">
@{
var body = context.Request.Body?.As<string>(true);
if (body != null && body.Length > 1024)
{
body = body.Substring(0, 1024);
}
var json = new JObject( 
new JProperty("DateTime", DateTime.Now),
new JProperty("Method", context.Request.Method),
new JProperty("Path", context.Request.Url.Path + context.Request.Url.QueryString),
new JProperty("RequestBody", body) 
); 
return json.ToString();

}
</log-to-eventhub>

我想尝试将此数据从事件中心引入数据资源管理器

我不确定应该如何创建我的表映射

我设置了一些 Blob 存储,并将事件中心数据转发到它,以便查看它的外观。 在斑点中,它看起来像这样:-

Objavro.codecnullavro.schema {"type":"record","name":"EventData","namespace":"Microsoft.ServiceBus.Messaging","fields":[{"name":"SequenceNumber","type":"long"},{"name":"Offset","type":"string"},{"name":"EnqueuedTimeUtc","type":"string"},{"name":"SystemProperties","type":{"type":"map","values":["long","double","string","bytes"]}},{"name":"Properties","type":{"type":"map","values":["long","double","string","bytes","null"]}},{"name":"Body","type":["空","字节"]}]}

106408(8/23/2019 4:41:18 AM

{ "日期时间": "2019-08-23T04:40:53.9151977+00:00", "方法": "开机自检", "Path": "/api/FuncCreateLead", "RequestBody": "{\r \"Title\": \"Miss\",\r \"FirstName": \"Alice\"} }

是否需要使用以下字段创建表映射?

SequenceNumber, Offset, enqueuedTimeUtc, SystemProperties, Properties, Body?

如果这是您的有效负载:

{
"DateTime": "2019-08-23T04:40:53.9151977+00:00",
"Method": "POST",
"Path": "/api/FuncCreateLead",
"RequestBody": {
"Title": "Miss",
"FirstName": "Alice"
}
}

这是用于创建 Kusto/ADX 表的表创建命令:

{ "日期时间": "2019-08-23T04:40:53.9151977+00:00", "方法": "开机自检", "Path": "/api/FuncCreateLead", "请求正文":{ "标题": "小姐", "名字":"爱丽丝" } }

.create table TableName (
DateTime: datetime,
Method: string,
Path: string,
RequestBody: dynamic
)

那么这就是您要创建的映射

.create table TableName ingestion json mapping 'mapping_name' 
'['
'   {'
'       "column": "DateTime",'
'       "path": "$.DateTime",'
'       "datatype": "datetime"'
'   },'
'   {'
'       "column": "Method",'
'       "path": "$.Method",'
'       "datatype": "string"'
'   },'
'   {'
'       "column": "Path",'
'       "path": "$.Path",'
'       "datatype": "string"'
'   },'
'   {'
'       "column": "RequestBody",'
'       "path": "$.RequestBody",'
'       "datatype": "dynamic"'
'   }'
']'

因此,您可以根据实际需求在表定义/映射中添加/删除列 - 以上只是一个示例。

最新更新