文档

NATS 通知设置

NATS Streaming 已弃用

NATS Streaming 已弃用。 请迁移到 JetStream

相关的 MinIO 配置选项和环境变量也已弃用。

本页面说明了将 NATS 服务配置为 Bucket Notifications 目标的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 NATS

你可以通过以下方式建立或修改设置:

  • 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。

  • 使用 mc admin config set 定义 配置项

如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。

有些设置只有环境变量或配置项中的一种,而不是两者同时存在。

Important

每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。

多个 NATS 目标

你可以在顶层键后追加唯一标识符 _ID,为每组相关的 NATS 设置指定多个 NATS 服务端点。

示例

例如,以下命令分别将两个不同的 NATS 服务端点设置为 PRIMARYSECONDARY

export MINIO_NOTIFY_NATS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_PRIMARY="nats-endpoint.example.net:4222"

export MINIO_NOTIFY_NATS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NATS_ADDRESS_SECONDARY="nats-endpoint.example.net:4222"

在这些设置中,MINIO_NOTIFY_NATS_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 NATS 服务端点。

mc admin config set notify_nats:primary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_nats:secondary \
   address="nats-endpoint.example.com:4222" \
   subject="minioevents" \
   [ARGUMENT=VALUE ...]

设置

启用

必填

MINIO_NOTIFY_NATS_ENABLE

指定 on 以启用向 NATS 服务端点发布存储桶通知。

默认为 off

notify_nats

用于定义 NATS 服务端点并将其用于 MinIO bucket notifications 的顶层配置键。

使用 mc admin config set 设置或更新 NATS 服务端点。 对于每个目标,addresssubject 参数均为*必填*。 其他可选参数请使用空白字符(" ")分隔的列表指定。

mc admin config set notify_nats \
  address="nats-endpoint.example.com:4222" \
  subject="minioevents" \
  [ARGUMENT="VALUE"] ... \

地址

必填

MINIO_NOTIFY_NATS_ADDRESS
notify_nats address

指定 MinIO 发布存储桶事件到的 NATS 服务端点。 例如:nats-endpoint.example.com:4222

Changed in version RELEASE.2023-05-27T05-56-19Z: 在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Subject

必填

MINIO_NOTIFY_NATS_SUBJECT
notify_nats subject

指定 MinIO 在 NATS 端点上关联已发布事件的订阅。

用户名

可选

MINIO_NOTIFY_NATS_USERNAME
notify_nats username

指定连接到 NATS 服务端点时使用的用户名。

密码

可选

MINIO_NOTIFY_NATS_PASSWORD
notify_nats password

指定连接到 NATS 服务端点时使用的密码。

Changed in version RELEASE.2023-06-23T20-26-00Z: MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

Token

可选

MINIO_NOTIFY_NATS_TOKEN
notify_nats token

指定连接到 NATS 服务端点时使用的 token。

Changed in version RELEASE.2023-06-23T20-26-00Z: MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

用户凭证文件

可选

MINIO_NOTIFY_NATS_USER_CREDENTIALS
notify_nats user_credentials

指定用于连接 NATS 服务端点的 user credentials file <https://docs.nats.io/using-nats/developer/connecting/creds>

TLS

可选

MINIO_NOTIFY_NATS_TLS
notify_nats tls

指定 on 以启用到 NATS 服务端点的 TLS 连接。

TLS Skip Verify

可选

MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY
notify_nats tls_skip_verify

启用或禁用对 NATS 服务端点 TLS 证书的 TLS 校验。

  • 指定 on 以禁用 TLS 校验(默认)。

  • 指定 off 以启用 TLS 校验。

Ping Interval

可选

MINIO_NOTIFY_NATS_PING_INTERVAL
notify_nats ping_interval

指定客户端向 NATS 服务器发送 ping 的时间间隔。 MinIO 支持以下时间单位:

  • s - 秒,"60s"

  • m - 分钟,"5m"

  • h - 小时,"1h"

  • d - 天,"1d"

Jetstream

可选

MINIO_NOTIFY_NATS_JETSTREAM
notify_nats jetstream

指定 on 以启用 JetStream 支持,将事件流式传输到 NATS JetStream 服务端点。

Streaming

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING
notify_nats streaming

指定 on 以启用向 NATS 服务端点异步发布事件。

Streaming Async

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_ASYNC
notify_nats streaming_async

指定 on 以启用向 NATS 服务端点异步发布事件。

Max ACK Responses In Flight

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT
notify_nats streaming_max_pub_acks_in_flight

指定在等待 NATS 服务端点 ACK 响应之前可发布的消息数量。

Streaming Cluster ID

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID
notify_nats streaming_cluster_id

指定 NATS Streaming 集群的唯一 ID。

Cert Authority

可选

MINIO_NOTIFY_NATS_CERT_AUTHORITY
notify_nats cert_authority

指定用于签署 NATS 服务端点 TLS 证书的 Certificate Authority 证书链路径。

Client Cert

可选

MINIO_NOTIFY_NATS_CLIENT_CERT
notify_nats client_cert

指定用于执行到 NATS 服务端点 mTLS 认证的客户端证书路径。

Client Key

可选

MINIO_NOTIFY_NATS_CLIENT_KEY
notify_nats client_key

指定用于执行到 NATS 服务端点 mTLS 认证的客户端私钥路径。

Queue Directory

可选

MINIO_NOTIFY_NATS_QUEUE_DIR
notify_nats queue_dir

指定目录路径以启用 MinIO 对未投递消息的持久化事件存储,例如 /opt/minio/events

当 NATS server/broker 离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放已存储事件。

Queue Limit

可选

MINIO_NOTIFY_NATS_QUEUE_LIMIT
notify_nats queue_limit

指定未投递消息的最大上限。 默认为 100000

Comment

可选

MINIO_NOTIFY_NATS_COMMENT
notify_nats comment

指定与 NATS 配置关联的注释。