AMQP 通知设置
本文档说明了将 AMQP 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 AMQP (RabbitMQ)。
你可以通过以下方式建立或修改设置:
- 在启动或重启 MinIO Server 之前,在宿主机系统上定义 环境变量。 如何定义环境变量,请参考所用操作系统的文档。
- 使用
mc admin config set定义 配置项。
如果同时定义了环境变量和对应的配置项,MinIO 使用环境变量的值。
有些设置只有环境变量或配置项中的一种,而不是两者同时存在。
重要
每个配置项都会控制 MinIO 的基础行为和功能。 MinIO 强烈建议 先在 DEV 或 QA 等较低级别环境中测试配置变更,再应用到生产环境。
多个 AMQP 目标
可以通过在顶层键后为每组相关 AMQP 设置追加唯一标识符 _ID,来指定多个 AMQP 服务端点。
示例
例如,以下命令分别将两个不同的 AMQP 服务端点设置为 PRIMARY 和 SECONDARY:
export MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:password@amqp-endpoint.example.net:5672"
export MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:password@amqp-endpoint.example.net:5672"
例如,MINIO_NOTIFY_AMQP_ENABLE_PRIMARY 表示该环境变量关联到 ID 为 PRIMARY 的 AMQP 服务端点。
mc admin config set notify_amqp:primary \
url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]
mc admin config set notify_amqp:secondary \
url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]
请注意,对于配置设置,唯一标识符仅追加到 amqp,而不是每个单独参数。
设置
启用
MINIO_NOTIFY_AMQP_ENABLE
envvar
如果设置为 on,则必须指定 MINIO_NOTIFY_AMQP_URL。
指定 on 以启用向 AMQP 端点发布存储桶通知。
默认值为 off。
notify_amqp
mc-conf
用于定义 AMQP 服务端点以供 MinIO 存储桶通知 使用的顶层配置键。
使用 mc admin config set 设置或更新 AMQP 服务端点。 对于每个目标,url 参数都是必需的。 以空白字符(" ")分隔的列表形式指定其他可选参数。
mc admin config set notify_amqp \
url="amqp://user:password@endpoint:port" \
[ARGUMENT="VALUE"] ...
URL
必需
MINIO_NOTIFY_AMQP_URL
envvar
notify_amqp url
mc-conf
指定 MinIO 发布存储桶事件的 AMQP 服务器端点。 例如,amqp://myuser:mypassword@localhost:5672。
变更: RELEASE.2023-05-27T05-56-19Z
在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。
Exchange(交换机)
可选
MINIO_NOTIFY_AMQP_EXCHANGE
envvar
notify_amqp exchange
mc-conf
指定要使用的 AMQP exchange 名称。
Exchange 类型
可选
MINIO_NOTIFY_AMQP_EXCHANGE_TYPE
envvar
notify_amqp exchange_type
mc-conf
指定 AMQP exchange 的类型。
路由键
可选
MINIO_NOTIFY_AMQP_ROUTING_KEY
envvar
notify_amqp routing_key
mc-conf
指定用于发布事件的 routing key。
Mandatory(强制)
可选
MINIO_NOTIFY_AMQP_MANDATORY
envvar
notify_amqp mandatory
mc-conf
指定 off 以忽略消息未送达错误。 默认值为 on。
持久化
可选
MINIO_NOTIFY_AMQP_DURABLE
envvar
notify_amqp durable
mc-conf
指定 on 以在 broker 重启后保留消息队列。 默认值为 off。
No Wait(不等待)
可选
MINIO_NOTIFY_AMQP_NO_WAIT
envvar
notify_amqp no_wait
mc-conf
指定 on 以启用非阻塞消息投递。 默认值为 off。
Internal(内部)
可选
MINIO_NOTIFY_AMQP_INTERNAL
envvar
notify_amqp internal
mc-conf
指定 on 以仅在 exchange 绑定到其他 exchanges 时使用该 exchange。 有关 AMQP exchange 绑定的更多信息,请参阅 RabbitMQ 文档中的 Exchange to Exchange Bindings。
自动删除
可选
MINIO_NOTIFY_AMQP_AUTO_DELETED
envvar
notify_amqp auto_deleted
mc-conf
指定 on 以在没有消费者时自动删除消息队列。 默认值为 off。
投递模式
可选
MINIO_NOTIFY_AMQP_DELIVERY_MODE
envvar
notify_amqp delivery_mode
mc-conf
指定 1 以将投递模式设置为非持久化队列。
指定 2 以将投递模式设置为持久化队列。
队列目录
可选
MINIO_NOTIFY_AMQP_QUEUE_DIR
envvar
notify_amqp queue_dir
mc-conf
指定目录路径以启用 MinIO 对未送达消息的持久化事件存储,例如 /opt/minio/events。
当 AMQP 服务离线时,MinIO 会将未送达事件存储在指定存储中,并在连接恢复后重放这些已存储事件。
队列限制
可选
MINIO_NOTIFY_AMQP_QUEUE_LIMIT
envvar
notify_amqp queue_limit
mc-conf
指定未送达消息的最大数量限制。 默认值为 100000。
注释
可选
MINIO_NOTIFY_AMQP_COMMENT
envvar
notify_amqp comment
mc-conf
为 AMQP 配置指定注释。
本页部分内容改编自 MinIO 对象存储文档,© 2020–至今 MinIO, Inc.,依据 CC BY 4.0 授权,由 Silo 项目转换与维护。归属与署名
本页为非官方中文翻译。如与英文原文有出入,以英文原文为准。