文档

Redis 通知设置

此页面记录将 Redis 服务配置为 存储桶通知 目标的设置。请参阅 将事件发布到 Redis,了解有关使用这些设置的教程。

您可以通过定义以下内容来建立或修改设置

  • 在启动或重启 MinIO 服务器之前,在主机系统上定义一个环境变量。有关如何定义环境变量,请参阅您的操作系统的文档。

  • 使用 mc admin config set 定义一个配置设置

  • 使用 MinIO 控制台的 管理员 > 设置 页面定义一个配置设置

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量值。

某些设置只有环境变量或配置设置,但两者都没有。

重要

每个配置设置都控制着 MinIO 的基本行为和功能。MinIO **强烈建议**在将更改应用到生产环境之前,在较低的环境(如 DEV 或 QA)中测试配置更改。

多个 Redis 目标

您可以通过在每个相关 Redis 设置的顶层键的末尾追加唯一的标识符 _ID 来指定多个 Redis 服务端点。例如,以下命令将两个不同的 Redis 服务端点分别设置为 PRIMARYSECONDARY

set MINIO_NOTIFY_REDIS_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_REDIS_REDIS_ADDRESS_PRIMARY="redis-endpoint.example.net:9200"
set MINIO_NOTIFY_REDIS_KEY_PRIMARY="bucketevents"
set MINIO_NOTIFY_REDIS_FORMAT_PRIMARY="namespace"


set MINIO_NOTIFY_REDIS_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_REDIS_REDIS_ADDRESS_SECONDARY="redis-endpoint2.example.net:9200"
set MINIO_NOTIFY_REDIS_KEY_SECONDARY="bucketevents"
set MINIO_NOTIFY_REDIS_FORMAT_SECONDARY="namespace"
mc admin config set notify_redis:primary              \
   address="redis-endpoint.example.net:9200"  \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...                             \

mc admin config set notify_redis:secondary            \
   address="redis-endpoint2.example.net:9200" \
   key="bucketevents"                                 \
   format="namespace"                                 \
   [ARGUMENT="VALUE"] ...

设置

启用

必需

MINIO_NOTIFY_REDIS_ENABLE

指定 on 以启用将桶通知发布到 Redis 服务端点。

默认为 off

如果设置为 on,则需要指定以下额外的环境变量。

notify_redis

用于定义 Redis 服务器/代理端点的顶级配置键,用于与 MinIO 桶通知 一起使用。

使用 mc admin config set 设置或更新 Redis 服务器/代理端点。以下参数是每个端点的必需参数

指定其他可选参数作为空格 (" ") 分隔的列表。

mc admin config set notify_redis \
   address="ENDPOINT" \
   key="<string>" \
   format="<string>" \
   [ARGUMENT="VALUE"] ... \

地址

必需

MINIO_NOTIFY_REDIS_ADDRESS
notify_redis address

指定 MinIO 发布桶事件的 Redis 服务端点。例如,redis.example.com:6369

更改版本 RELEASE.2023-05-27T05-56-19Z: MinIO 在添加目标之前检查指定 URL 的健康状况(如果可解析且可访问)。如果现有目标离线,MinIO 不再阻止添加新的通知目标。

必需

MINIO_NOTIFY_REDIS_KEY
notify_redis key

指定用于存储和更新事件的 Redis 键。Redis 在不存在的情况下会自动创建该键。

格式

必需

MINIO_NOTIFY_REDIS_FORMAT
notify_redis format

指定写入 Redis 服务端点的事件数据的格式。MinIO 支持以下值

namespace

对于每个桶事件,MinIO 会创建一个 JSON 文档,其中包含来自事件的桶和对象名称作为文档 ID,以及实际事件作为文档主体的一部分。对该对象的额外更新会修改该对象现有的索引条目。类似地,删除该对象也会删除相应的索引条目。

access

对于每个桶事件,MinIO 会创建一个包含事件详细信息的 JSON 文档,并将其追加到键中,并使用 Redis 生成的随机 ID。对对象的额外更新会导致新的索引条目,而现有条目保持不变。

密码

可选

MINIO_NOTIFY_REDIS_PASSWORD
notify_redis password

指定 Redis 服务器的密码。

更改版本 RELEASE.2023-06-23T20-26-00Z: 当作为 mc admin config get 的一部分返回时,MinIO 会屏蔽此值。

用户

可选

新版本 RELEASE.2024-03-21T23-13-43Z 中新增。

MINIO_NOTIFY_REDIS_USER
notify_redis user

指定 Redis 服务器的用户。

队列目录

可选

MINIO_NOTIFY_REDIS_QUEUE_DIR
notify_redis queue_dir

指定目录路径以启用 MinIO 的持久事件存储,用于未送达的消息,例如 /opt/minio/events

当 Redis 服务器/代理离线时,MinIO 会将未送达的事件存储在指定的存储中,并在连接恢复时重播存储的事件。

队列限制

可选

MINIO_NOTIFY_REDIS_QUEUE_LIMIT
notify_redis queue_limit

指定未送达消息的最大限制。默认为 100000

评论

可选

MINIO_NOTIFY_REDIS_COMMENT
notify_redis comment

指定与 Redis 配置关联的评论。