【问题标题】:how to connect to Cassandra with Elixir如何使用 Elixir 连接到 Cassandra
【发布时间】:2016-12-21 23:41:28
【问题描述】:

我在我的项目中包含了 cqerl Elixir 的 Erlang 驱动程序 根据文档,连接的 Erlang 语法是:

{ok, Client} = cqerl:new_client({}). 

我只是不知道如何将上面的内容翻译成 Elixir 语法。

【问题讨论】:

  • 您是否使用凭据、IP 和端口连接到服务器?你能分享你的连接代码吗?谢谢

标签: erlang elixir


【解决方案1】:

当您通过 Elixir 使用 Erlang 时,您必须像这样调用 Erlang 模块:

{:ok, client} = :cqerl.new_client({})

如果您想使用特定地址调用 Cassandra,您可以创建一个新客户端,如 cqerl documentation: 中所述

{:ok, client} = :cqerl.new_client({"127.0.0.1", 9042})

或者如果您打算传入更多选项,例如身份验证作为第二个参数(将密码放在代码中通常是个坏主意,而是使用环境变量或被 git 忽略的配置文件):

{:ok, client} = :cqerl.new_client({"127.0.0.1", 9042}, , [{auth, {cqerl_auth_plain_handler, [{"Your-Username", "Your-Password"}]}}])

【讨论】:

  • 上面写着invalid arguments for use, expected an atom or alias as argument
  • 这是您提供的代码的精确翻译。如果这被破坏了,那么您问题中的示例也是如此。
  • 我非常怀疑是否将 {} 作为参数传递。这是很没有意义的。然而,它是 cqerl 自述文件中的第一个示例。
  • 这不是没有意义,它是使用erlang的模式匹配来调用cqerl模块中的new_client({}) ->
  • 如何在上面的 new_client 命令中插入 ip、端口、用户名和密码等凭据?
猜你喜欢
  • 2014-12-20
  • 2017-08-17
  • 2017-01-13
  • 2014-07-21
  • 2021-01-31
  • 2015-07-10
  • 2015-05-21
  • 2013-06-24
  • 2015-05-19
相关资源
最近更新 更多