nats
一个命令行工具,用于与 NATS 进行交互和管理。
此实用程序取代了过去以 nats-sub 和 nats-pub 形式命名的各种工具,增加了多项新功能,并支持完整的 JetStream 管理。
有关详细信息,请查看仓库:github.com/nats-io/natscli。
安装 nats
请参考 README 中的安装部分。
您可以在 这里阅读有关执行策略的信息。
二进制文件也可通过 GitHub 发布获取。
使用 nats
获取帮助
- NATS 命令行界面 README
nats helpnats help [<command>...]或nats [<command>...] --help- 记得看看速查表呀!
nats cheatnats cheat --sectionsnats cheat <section>>
与 NATS 交互
nats contextnats accountnats pubnats subnats requestnats replynats bench
监控 NATS
nats eventsnats rttnats servernats latencynats governor
管理和操作流
nats streamnats consumernats backupnats restore
管理和操作键值存储
nats kv
获取参考信息
nats errorsnats schema
配置上下文
CLI 具有多个配置设置,这些设置可以通过命令行参数传递,也可以在环境变量中设置。
输出摘录
服务器 URL 可以使用 --server CLI 标志、NATS_URL 环境变量或通过 NATS 上下文 设定。
密码可以使用 --password CLI 标志、NATS_PASSWORD 环境变量或通过 NATS 上下文 设定。例如:如果您想创建一个脚本,提示用户输入系统用户的密码(以便该密码不会出现在 ps 或 history 中,或者您可能不想将其存储在配置文件中),然后执行一个或多个 nats 命令,您可以这样做:
NATS 上下文
上下文是一个有名字的配置,其中存储所有这些设置。您可以指定默认上下文并在上下文之间切换。
上下文可以通过 nats context create my_context_name 创建,然后通过 nats context edit my_context_name 修改:
此上下文存储在文件 ~/.config/nats/context/my_context_name.json 中。
上下文也可以通过指定设置来创建,使用 nats context save:
列出您的上下文:
我们为 local 上下文传递了 --select 参数,这意味着当未设置任何内容时,它将成为默认上下文。
选择上下文:
检查到服务器的往返时间(使用当前选定的上下文):
您也可以直接指定上下文:
所有 nats 命令都支持上下文,而 nats context 命令具有各种用于查看、编辑和删除上下文的命令。
服务器 URL 和凭据路径可以通过 nsc 命令解析,例如要查找 acme 运营商的 orders 账户中的用户 new,可以使用以下命令:
此时,服务器列表和凭据路径将通过 nsc 解析;如果这些在上下文中明确设置,则特定上下文配置将优先。
生成 bcrypt 加密密码
服务器支持使用 bcrypt 对密码和身份验证令牌进行哈希处理。要利用此功能,只需将配置中的明文密码替换为其 bcrypt 哈希值,服务器将根据需要自动使用 bcrypt。另请参阅:Bcrypted Passwords。
nats 实用程序有一个用于创建 bcrypt 哈希的命令。这可用于配置中的密码或令牌。
要在服务器上使用密码,将哈希添加到服务器配置文件的 authorization 部分。
请注意,客户端仍需提供密码的明文版本,但服务器仅存储哈希值,以便在提供密码时验证其正确性。
参见
使用 NATS CLI 的发布-订阅模式
{% embed url="https://www.youtube.com/watch?v=jLTVhP08Tq0" %} 使用 NATS CLI 的发布-订阅模式 {% endembed %}
