golang 使用 aws 的 elasticsearch 疑问?

2018 年 3 月 21 日
 zbl430

有大佬使用过 go 连接 aws 上的 elasticsearch 吗 ? 一直过不了验证这关!!

提示我:


no Elasticsearch node available

panic: runtime error: invalid memory address or nil pointer dereference

[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x636e96]


2951 次点击
所在节点    程序员
14 条回复
kkfnui
2018 年 3 月 21 日
看起来是对象没有初始化
zbl430
2018 年 3 月 21 日
zbl430
2018 年 3 月 21 日
求帮忙啊,各位大神
popbones
2018 年 3 月 21 日
es, err := elastic.NewClient(
elastic.SetSniff(false),
elastic.SetURL(i.URL),
)

AWS ES 默认不能 sniff
popbones
2018 年 3 月 21 日
没记错的话当初踩过这个坑
zbl430
2018 年 3 月 21 日
@popbones 我就是这样子的,还是报错

```
client, err := elastic.NewClient(
elastic.SetURL("https://xxxxxxxxxxxx.es.amazonaws.com.cn"),
elastic.SetScheme("https"),
elastic.SetHealthcheckInterval(10*time.Second),
elastic.SetHttpClient( httpClient),
elastic.SetSniff(false),
)

```
popbones
2018 年 3 月 21 日
加个端口试试?我记得 AWS ES 默认在 80
zbl430
2018 年 3 月 21 日
@popbones 不行,我是按照 2 楼那个链接 写的, 加了验证
popbones
2018 年 3 月 21 日
链接里第一个例子用的是 aws client,我们当时没这个。要不你看看相关的 role,credential 和 provision 都配对了没有
zbl430
2018 年 3 月 21 日
@popbones 我用的是第二种,折腾一天了,不知道那里出了错
popbones
2018 年 3 月 21 日
那我就不清楚了,确认你用的 credential 能访问 ES ?
zbl430
2018 年 3 月 21 日
@popbones 确定是可以的,之前用 python 写的都可以,用 go 就不行了
zbl430
2018 年 3 月 22 日
大佬来帮忙啊
zbl430
2018 年 3 月 22 日
结束贴,已解决!具体方法需要改第三方包(go-aws-auth),我会向作者提议,就不在这里说明了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/440036

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX