首页 > 解决方案 > 在 R 中使用 Elastic 包连接公共 API

问题描述

我正在尝试使用 R 连接来自 elasticsearch 的 API。这应该很容易,但我收到以下错误:

Error: 403 - action [cluster:monitor/main] is unauthorized for user [user-public-notificacoes]

我究竟做错了什么?

library(elastic)

user <- 'user-public-notificacoes'
paswd <- 'Za4qNXdyQNSa9YaA'
api <- 'elasticsearch-saps.saude.gov.br'

body<-
  '{
  "query": {
    "match": {
      "resultadoTeste": "Positivo"
    }
  }
}'

MS_conn <- 
  elastic::connect(transport_schema = "https",
                   host = 'elasticsearch-saps.saude.gov.br',
                   port = NULL,
                   ssl_verifyhost = 0,
                   ssl_verifypeer=0,
                   es_host="elasticsearch-saps.saude.gov.br",
                   user = user, 
                   pwd  = paswd)

assign('res', Search(conn = MS_conn,
                     body = body,
                     index = 'desc-notificacoes-esusve-*',
                     time_scroll =  '1m', size = 100))

API 信息https://opendatasus.saude.gov.br/dataset/casos-nacionais/resource/30c7902e-fe02-4986-b69d-906ca4c2ec36

网址:https ://elasticsearch-saps.saude.gov.br/desc-notificacoes-esusve-*/_search?pretty

标签: relasticsearchconnect

解决方案


推荐阅读