Ballerina 集成器和 Elasticsearch
Ballerina integrator and Elasticsearch
我正在研究我的学士学位项目,我必须使用 Ballerina 集成器 middle-ware。
现在我需要提供一项服务,该服务能够将进入 ballerina 的数据索引到 Elasticsearch.Is 那里有一种仅使用 ballerina(不使用 Log stash 或 File beat..)与 Elasticsearch 通信的方法就像我们正在与 SQL 数据库通信?
如果有人在寻找相同的东西,我刚刚找到了一种与 Elastic 通信的方法,而且效果很好
---这是代码---
import ballerina/http;
import ballerina/log;
listener http:Listener httpListener = new(9090);
http:Client elasticDB = new("http://localhost:9200/");
@http:ServiceConfig{
basePath: "/elastic"
}
service GetElasticSource on httpListener{
@http:ResourceConfig {
methods: ["GET"],
path: "/{index}/_source/{id}"
}
resource function retrieveElasticIndexById(http:Caller httpCaller, http:Request httpRequest, string index, string id){
http:Response resp = new;
var data = elasticDB->get(<@untained> ("/"+index+"/_source/"+id));
if(data is http:Response){
resp = data;
}
var respRet = httpCaller->respond(resp);
if(respRet is error){
log:printError("error responding to the client", err = respRet);
}
}
}
我正在研究我的学士学位项目,我必须使用 Ballerina 集成器 middle-ware。
现在我需要提供一项服务,该服务能够将进入 ballerina 的数据索引到 Elasticsearch.Is 那里有一种仅使用 ballerina(不使用 Log stash 或 File beat..)与 Elasticsearch 通信的方法就像我们正在与 SQL 数据库通信?
如果有人在寻找相同的东西,我刚刚找到了一种与 Elastic 通信的方法,而且效果很好
---这是代码---
import ballerina/http;
import ballerina/log;
listener http:Listener httpListener = new(9090);
http:Client elasticDB = new("http://localhost:9200/");
@http:ServiceConfig{
basePath: "/elastic"
}
service GetElasticSource on httpListener{
@http:ResourceConfig {
methods: ["GET"],
path: "/{index}/_source/{id}"
}
resource function retrieveElasticIndexById(http:Caller httpCaller, http:Request httpRequest, string index, string id){
http:Response resp = new;
var data = elasticDB->get(<@untained> ("/"+index+"/_source/"+id));
if(data is http:Response){
resp = data;
}
var respRet = httpCaller->respond(resp);
if(respRet is error){
log:printError("error responding to the client", err = respRet);
}
}
}