Я написал пример HTTP-запроса в Elastic Search с использованием JSON-запроса в Postman, который прекрасно работает. Как показано в запросе, я хотел отфильтровать машину по определенному имени из всех журналов.
Получить: someserver / someindex / _search? Size = 1000
Тип содержимого: application / json
Тело в формате JSON:
{
"query":
{
"match":
{
"machineName": "ZW12"
}
}
}
Теперь я хочу вызвать те же функции из MS Access, поэтому я использую приведенный ниже код. Я получаю ответ от Elastic Search, но проблема в том, что он вообще не учитывает мой запрос (argumentsString). Таким образом, он показывает результаты и для других не только для указанной машины. Он показывает результаты, как будто ничего не было написано после .send
Dim objRequest As Object
Dim strUrl As String
Dim blnAsync As Boolean
Dim strResponse As String
Dim argumentString As String
Set objRequest = CreateObject("MSXML2.XMLHTTP")
strUrl = "someserver/someindex/_search?size=1000"
argumentString = "{\""query\"":{\""match\"":{\""machineName\"":\""ZW12\""}}}"
Debug.Print argumentString & vbNewLine
blnAsync = True
With objRequest
.Open "GET", strUrl, blnAsync
.setRequestHeader "Content-Type", "application/json"
.send argumentString
While objRequest.ReadyState <> 4
DoEvents
Wend
strResponse = .responseText
End With
Debug.Print strResponse
Что-то не так с запросом?