【问题标题】:How to configure client? AWS Elasticsearch request C#如何配置客户端? AWS Elasticsearch 请求 C#
【发布时间】:2020-11-28 04:25:49
【问题描述】:

我是亚马逊网络服务的新手。 我将域配置为在 AWS(Amazon Web Services)控制台中使用 ElasticSearch。确认使用 Http 请求。 经历了从创建 ElasticSearch 客户端的文档 https://www.elastic.co/guide/en/elasticsearch/client/net-api/1.x/security.html

var response = client.RootNodeInfo(c => c
    .RequestConfiguration(rc => rc
        .BasicAuthentication("UserName", "Password")
    ));

对我来说很好(响应为 200) 但是,当我尝试像这样配置身份验证凭据并将配置传递给客户端构造函数时,我需要有“cloudId”,但我在 AWS 上找不到我在哪里搜索它?或者我必须做什么?

我的客户代码:

BasicAuthenticationCredentials credentials = new BasicAuthenticationCredentials("UserName", "Password");

var config = new ConnectionSettings("cloudId???", credentials);

var client = new ElasticClient(config);
var response = client.Ping();

【问题讨论】:

    标签: c# .net amazon-web-services http elasticsearch


    【解决方案1】:

    我最近这样做了,但方式不同。我使用了 Nuget 包 AwsSignatureVersion4 和一个对 ElasticSearch 服务具有适当权限的 IAM 用户。

    但基本上,使用 ImmutableCredentials 并通过 REST 调用和 C# HttpClient 执行我需要执行的操作。我发现它比使用 .NET ElasticSearch 库更容易。然后我可以从 Kibana 来回复制/粘贴。

    var credentials = new ImmutableCredentials("access_key", "secret_key", null);
    HttpContent httpContent = new StringContent(JsonConvert.SerializeObject(someObjOrQuery), Encoding.UTF8);
    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
    var resp = httpClient.PostAsync(es_url, 
        httpContent, 
        regionName: "us-east-1",
        serviceName: "es",
        credentials: credentials).GetAwaiter().GetResult();
    
    if(resp.IsSuccessStatusCode) 
    {
       //Good to go
    }
    else
    {
      //this gets what ES sent back
      var content = response.Content.ReadAsStringAsync();
      dynamic respJson = JObject.Parse(content.Result());
      //Now you can access stuff by dot and it's dynamic respJson.something
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2018-07-31
      • 2016-02-20
      • 2017-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多