基于一个在Postman中完美运行的查询,我在将我的报告与Druid数据库连接时遇到了问题。
因此,最初的Druid查询如下:
curl -L -X POST 'https://api.xxxxxxxxxxxxxxxx' -H 'Content-Type: application/json' -H 'Authorization: Bearer xxxxxxx' --data-raw '{ "query":{
"metrics": [
{
"type": "count",
"filter": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "check_point.name",
"value": "Start of article"
}
]
},
"values": {
"main": "value"
},
"name": "Początek strony artykułowej",
"clicked": false,
"id": 2,
"enabled": true
},
{
"type": "count",
"filter": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "check_point.name",
"value": "Start of article content"
}
]
},
"values": {
"main": "value"
},
"name": "Początek treści",
"clicked": false,
"id": 3,
"enabled": true
},
{
"type": "count",
"filter": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "check_point.name",
"value": "Start of article lead"
}
]
},
"values": {
"main": "value"
},
"name": "Początek leadu",
"clicked": false,
"id": 4,
"enabled": true
},
{
"type": "count",
"filter": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "check_point.name",
"value": "Start of article text"
}
]
},
"values": {
"main": "value"
},
"name": "Początek tekstu",
"clicked": false,
"id": 6,
"enabled": true
},
{
"type": "count",
"filter": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "check_point.name",
"value": "End of article"
}
]
},
"values": {
"main": "value"
},
"name": "Koniec tekstu",
"clicked": false,
"id": 13,
"enabled": true
}
],
"from": "TvH38YhQ0u5d",
"top": 10,
"granularity": "all",
"realtime": false,
"intervals": {
"dates": [
"2022-06-03T00:00:00.000",
"2022-06-04T00:00:00.000"
],
"translatedFrom": "2022-06-03T00:00:00+02:00/2022-06-03T23:59:59+02:00",
"strict": true
},
"timeZoneOffset": -120,
"dashboard": {
"_id": "62e0e9e3d65b2200087afe93",
"name": "{OS} Kontrolne",
"type": "default",
"organizationId": "5c666b78c66c847f427326e0",
"createdAt": "2022-07-27T07:31:47.723Z",
"owner": "myemail@mycompany.com",
"__v": 0,
"privilege": "edit",
"dashboardId": "62e0e9e3d65b2200087afe93"
},
"offset": 0,
"splits": [
{
"name": "ID",
"field": "mycustomvalue.article.id",
"regex": "",
"id": 10
}
],
"order": [
{
"metricIndex": 0,
"ascending": false
}
],
"filters": {
"type": "and",
"children": [
{
"type": "eq",
"field": "event.type",
"value": "check-point"
},
{
"type": "eq",
"field": "page.domain",
"value": "mycustomvalue.pl"
},
{
"type": "eq",
"field": "user.device.crawler.miscellaneous.iscrawler",
"value": "false"
},
{
"type": "gt",
"field": "source.mycustomvalue.article.id",
"value": "0"
}
]
}}}'这在邮递员身上很管用。
然而,当我试图将它重写为M时,我会得到错误(通常是“查询”之后的“无效标识符”)。
let
RequestBody =Json.Document(Text.ToBinary("{" ""query"":{
""metrics"": [
{
""type"": ""count"",
""filter"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""check_point.name"",
""value"": ""Start of article""
}
]
},
""values"": {
""main"": ""value""
},
""name"": ""Początek strony artykułowej"",
""clicked"": false,
""id"": 2,
""enabled"": true
},
{
""type"": ""count"",
""filter"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""check_point.name"",
""value"": ""Start of article content""
}
]
},
""values"": {
""main"": ""value""
},
""name"": ""Początek treści"",
""clicked"": false,
""id"": 3,
""enabled"": true
},
{
""type"": ""count"",
""filter"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""check_point.name"",
""value"": ""Start of article lead""
}
]
},
""values"": {
""main"": ""value""
},
""name"": ""Początek leadu"",
""clicked"": false,
""id"": 4,
""enabled"": true
},
{
""type"": ""count"",
""filter"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""check_point.name"",
""value"": ""Start of article text""
}
]
},
""values"": {
""main"": ""value""
},
""name"": ""Początek tekstu"",
""clicked"": false,
""id"": 6,
""enabled"": true
},
{
""type"": ""count"",
""filter"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""check_point.name"",
""value"": ""End of article""
}
]
},
""values"": {
""main"": ""value""
},
""name"": ""Koniec tekstu"",
""clicked"": false,
""id"": 13,
""enabled"": true
}
],
""from"": ""TvH38YhQ0u5d"",
""top"": 10,
""granularity"": ""all"",
""realtime"": false,
""intervals"": {
""dates"": [
""2022-06-03T00:00:00.000"",
""2022-06-04T00:00:00.000""
],
""translatedFrom"": ""2022-06-03T00:00:00+02:00/2022-06-03T23:59:59+02:00"",
""strict"": true
},
""timeZoneOffset"": -120,
""dashboard"": {
""_id"": ""62e0e9e3d65b2200087afe93"",
""name"": ""{OS} Kontrolne"",
""type"": ""default"",
""organizationId"": ""5c666b78c66c847f427326e0"",
""createdAt"": ""2022-07-27T07:31:47.723Z"",
""owner"": ""myemail@mycompany.com"",
""__v"": 0,
""privilege"": ""edit"",
""dashboardId"": ""62e0e9e3d65b2200087afe93""
},
""offset"": 0,
""splits"": [
{
""name"": ""ID"",
""field"": ""mycustomvalue.article.id"",
""regex"": """",
""id"": 10
}
],
""order"": [
{
""metricIndex"": 0,
""ascending"": false
}
],
""filters"": {
""type"": ""and"",
""children"": [
{
""type"": ""eq"",
""field"": ""event.type"",
""value"": ""check-point""
},
{
""type"": ""eq"",
""field"": ""page.domain"",
""value"": ""mycustomvalue.pl""
},
{
""type"": ""eq"",
""field"": ""user.device.crawler.miscellaneous.iscrawler"",
""value"": ""false""
},
{
""type"": ""gt"",
""field"": ""source.mycustomvalue.article.id"",
""value"": ""0""
}
]
}
} "}")]))),
Source = Web.Contents("https://api.xxxxxxxxxx&Authorization=Bearer xxxxxxxxxx&Content-Type=application/json", [Content = Json.FromValue(RequestBody)])
in
Source我在M中尝试了许多组合,但是任何连接这个查询的尝试都被拒绝了。有人对德鲁伊有这样的意见吗?提前谢谢。
发布于 2022-08-22 22:01:50
然而,当我试图将其重写为M时,
会出现错误(大多数情况下,在“查询”之后出现“无效标识符”)。
似乎你有几个额外的“角色,看看第一个
让
RequestBody =Json.Document(Text.ToBinary("{“”查询“:{
也是最后
(
}“}”),
查询的行。我认为额外的引号会导致你的字符串提前终止。
这些行应该是这样的:
let
RequestBody =Json.Document(Text.ToBinary("{ ""query"":{和
} }")]))),https://stackoverflow.com/questions/73417703
复制相似问题