跳转到主要内容

这是本节的多页打印视图。 .

返回本页常规视图.

存储桶通知设置

本页介绍用于控制 MinIO bucket notifications 相关行为的设置。

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

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

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

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

警告

重要

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

同步事件

可选

MINIO_API_SYNC_EVENTS

envvar

api sync_events

mc-conf

启用同步 存储桶通知

指定 on 可让 MinIO 在远端目标收到事件并返回成功之后,再继续处理后续事件。

默认值为 off,即异步存储桶通知。在这种模式下,MinIO 不会等待远端目标在收到 事件后返回成功。

支持的通知目标

通知需要一个用于接收事件的目标。 MinIO 支持多种通知目标。 每种目标类型的设置位于各自独立的页面。 请根据实际使用的目标类型,选择下方对应链接。

1 - AMQP 通知设置

本文档说明了将 AMQP 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参阅 将事件发布到 AMQP (RabbitMQ)

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

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

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

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

警告

重要

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

多个 AMQP 目标

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

示例

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

export MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:[email protected]:5672"

export MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:[email protected]: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 配置指定注释。

2 - Elasticsearch 通知设置

本文档介绍如何配置 Elasticsearch 服务作为 存储桶通知 的目标。 有关如何使用这些设置的教程,请参阅 将事件发布到 Elasticsearch

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

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

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

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

警告

重要

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

多个 Elasticsearch 目标

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

示例

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_PRIMARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_PRIMARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_ELASTICSEARCH_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_ELASTICSEARCH_URL_SECONDARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_ELASTICSEARCH_INDEX_SECONDARY="bucketevents"
export MINIO_NOTIFY_ELASTICSEARCH_FORMAT_SECONDARY="namespace"
mc admin config set notify_elasticsearch:primary \
   url="user:password@https://elasticsearch-endpoint.example.net:9200" \
   index="bucketevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_elasticsearch:secondary \
   url="user:password@https://elasticsearch-endpoint.example.net:9200" \
   index="bucketevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

注意,对于配置设置,唯一标识符只追加到 notify_elasticsearch,而不是每个单独参数。

设置

启用

必需

MINIO_NOTIFY_ELASTICSEARCH_ENABLE

envvar

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

默认为 off

如果设置为 on,则还必须指定以下环境变量:

notify_elasticsearch

mc-conf

用于定义 Elasticsearch 服务端点以配合 MinIO bucket notifications 使用的顶级配置键。

使用 mc admin config set 设置或更新 Elasticsearch 服务端点。 对于每个目标,以下参数为 必需

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_elasticsearch \
  url="https://user:[email protected]:9200" \
  [ARGUMENT="VALUE"] ... \

URL

必需

MINIO_NOTIFY_ELASTICSEARCH_URL

envvar

notify_elasticsearch url

mc-conf

指定 MinIO 将存储桶事件发布到的 Elasticsearch 服务端点。 例如:https://elasticsearch.example.com:9200

MinIO 支持通过 URL 参数传递认证信息,格式为 PROTOCOL://USERNAME:PASSWORD@HOSTNAME:PORT

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Index

必需

MINIO_NOTIFY_ELASTICSEARCH_INDEX

envvar

notify_elasticsearch index

mc-conf

指定用于存储或更新 MinIO 存储桶事件的 Elasticsearch index 名称。 如果 index 不存在,Elasticsearch 会自动创建。

Format

必需

MINIO_NOTIFY_ELASTICSEARCH_FORMAT

envvar

notify_elasticsearch format

mc-conf

指定写入 Elasticsearch index 的事件数据格式。 MinIO 支持以下取值:

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档正文的一部分。 对该对象的后续更新会修改该对象在 index 中的现有条目。 同样,删除该对象也会删除对应的 index 条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Elasticsearch 生成的随机 ID 将其追加到 index。 对对象的后续更新会产生新的 index 条目,而现有条目保持不变。

Username

可选

MINIO_NOTIFY_ELASTICSEARCH_USERNAME

envvar

notify_elasticsearch username

mc-conf

用于连接启用了认证的 Elasticsearch 服务端点的用户名。

Password

可选

MINIO_NOTIFY_ELASTICSEARCH_PASSWORD

envvar

notify_elasticsearch password

mc-conf

用于连接启用了认证的 Elasticsearch 服务端点的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 的返回内容一部分时,MinIO 会对其进行脱敏。

队列目录

可选

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_DIR

envvar

notify_elasticsearch queue_dir

mc-conf

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

当 Elasticsearch 服务离线时,MinIO 会将未投递事件存储在指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_ELASTICSEARCH_QUEUE_LIMIT

envvar

notify_elasticsearch queue_limit

mc-conf

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

注释

可选

MINIO_NOTIFY_ELASTICSEARCH_COMMENT

envvar

notify_elasticsearch comment

mc-conf

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

3 - Kafka 通知设置

本页面记录了将 Kafka 服务配置为 存储桶通知 目标的相关设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Kafka

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

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

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

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

警告

重要

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

多个 Kafka 目标

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

示例

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

export MINIO_NOTIFY_KAFKA_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_PRIMARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"

export MINIO_NOTIFY_KAFKA_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_KAFKA_BROKERS_SECONDARY="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
mc admin config set notify_kafka:primary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

mc admin config set notify_kafka:secondary \
   brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
   [ARGUMENT=VALUE ...]

请注意,对于配置设置,唯一标识符只附加到 notify_kafka,而不是附加到每个单独参数。

设置

启用

必需

MINIO_NOTIFY_KAFKA_ENABLE

envvar

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

默认为 off

notify_kafka

mc-conf

用于定义 Kafka 服务端点并与 MinIO bucket notifications 配合使用的顶层配置键。

使用 mc admin config set 设置或更新 Kafka 服务端点。 对于每个目标,brokers 参数都是 必需 的。 其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_kafka \
  brokers="https://kafka1.example.net:9200, https://kafka2.example.net:9200"
  [ARGUMENT="VALUE"] ... \

Brokers

必需

MINIO_NOTIFY_KAFKA_BROKERS

envvar

notify_kafka brokers

mc-conf

指定以逗号分隔的 Kafka broker 地址列表。 例如:

"kafka1.example.com:2021,kafka2.example.com:2021"

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Topic

可选

MINIO_NOTIFY_KAFKA_TOPIC

envvar

notify_kafka topic

mc-conf

指定 MinIO 发布存储桶事件的 Kafka topic 名称。

SASL

可选

MINIO_NOTIFY_KAFKA_SASL

envvar

notify_kafka sasl

mc-conf

指定 on 以启用 SASL 身份验证。

SASL Username

可选

MINIO_NOTIFY_KAFKA_SASL_USERNAME

envvar

notify_kafka sasl_username

mc-conf

指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的用户名。

SASL Password

可选

MINIO_NOTIFY_KAFKA_SASL_PASSWORD

envvar

notify_kafka sasl_password

mc-conf

指定用于对 Kafka broker 执行 SASL/PLAIN 或 SASL/SCRAM 身份验证的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当此值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

SASL Mechanism

可选

MINIO_NOTIFY_KAFKA_SASL_MECHANISM

envvar

notify_kafka sasl_mechanism

mc-conf

指定用于对 Kafka broker 进行身份验证的 SASL 机制。 MinIO 支持以下机制:

  • PLAIN(默认)
  • SHA256
  • SHA512

TLS Client Auth

可选

MINIO_NOTIFY_KAFKA_TLS_CLIENT_AUTH

envvar

notify_kafka tls_client_auth

mc-conf

指定 Kafka broker 的客户端身份验证类型。 下表列出了支持的取值及其映射关系

身份验证类型
0 NoClientCert
1 RequestClientCert
2 RequireAnyClientCert
3 VerifyClientCertIfGiven
4 RequireAndVerifyClientCert

有关各客户端身份验证类型的更多信息,请参见 ClientAuthType

TLS

可选

MINIO_NOTIFY_KAFKA_TLS

envvar

notify_kafka tls

mc-conf

指定 on 以启用与 Kafka broker 的 TLS 连接。

TLS Skip Verify

可选

MINIO_NOTIFY_KAFKA_TLS_SKIP_VERIFY

envvar

notify_kafka tls_skip_verify

mc-conf

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

  • 指定 on 以禁用 TLS 验证(默认)。
  • 指定 off 以启用 TLS 验证。

Client TLS Cert

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_CERT

envvar

notify_kafka client_tls_cert

mc-conf

指定客户端证书路径,用于对 Kafka broker 执行 mTLS 身份验证。

Client TLS Key

可选

MINIO_NOTIFY_KAFKA_CLIENT_TLS_KEY

envvar

notify_kafka client_tls_key

mc-conf

指定客户端私钥路径,用于对 Kafka broker 执行 mTLS 身份验证。

Version

可选

MINIO_NOTIFY_KAFKA_VERSION

envvar

notify_kafka version

mc-conf

指定在对 Kafka 集群执行操作时假定的 Kafka 集群版本。 有关此字段行为的更多信息,请参见 sarama reference documentation

Batch Size

可选

MINIO_NOTIFY_KAFKA_BATCH_SIZE

envvar

notify_kafka batch_size

mc-conf

指定整数值,作为向 Kafka 发送记录时的 batch size

说明

变更: RELEASE.2023-12-02T10-51-33Z

MinIO 先前将此值限制为 100

Queue Directory

可选

MINIO_NOTIFY_KAFKA_QUEUE_DIR

envvar

notify_kafka queue_dir

mc-conf

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

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

Queue Limit

可选

MINIO_NOTIFY_KAFKA_QUEUE_LIMIT

envvar

notify_kafka queue_limit

mc-conf

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

Comment

可选

MINIO_NOTIFY_KAFKA_COMMENT

envvar

notify_kafka comment

mc-conf

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

Compression Codec

说明

新增: MinIO

Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_CODEC

envvar

notify_kafka compression_codec

mc-conf

指定向 Kafka 发送记录时使用的压缩编解码器。

支持以下取值:

  • none
  • snappy
  • gzip
  • lz4
  • zstd

Compression Level

说明

新增: MinIO

Server RELEASE.2023-12-09T18-17-51Z

可选

MINIO_NOTIFY_KAFKA_PRODUCER_COMPRESSION_LEVEL

envvar

notify_kafka compression_level

mc-conf

根据已配置的压缩编解码器控制应用的压缩级别。

指定大于或等于 0 的整数值。 该值的效果取决于所选编解码器。

4 - MQTT 通知设置

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

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

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

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

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

警告

重要

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

多个 MQTT 目标

你可以在顶层键后为每组相关 MQTT 设置追加一个唯一标识符 _ID,以指定多个 MQTT 服务端点。 例如,以下命令分别将两个不同的 MQTT 服务端点设置为 PRIMARYSECONDARY

环境变量
export MINIO_NOTIFY_MQTT_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MQTT_BROKER_PRIMARY="tcp://user:[email protected]:1883"

export MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MQTT_BROKER_SECONDARY="tcp://user:[email protected]:1883"
配置项
mc admin config set notify_mqtt:primary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

mc admin config set notify_mqtt:secondary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

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

设置

启用

必填

MINIO_NOTIFY_MQTT_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 MQTT 端点。

默认为 off

notify_mqtt

mc-conf

用于定义 MQTT server/broker 端点的顶层配置键,可用于 MinIO 存储桶通知

使用 mc admin config set 设置或更新 MQTT server/broker 端点。 每个端点都 必须 包含以下参数:

  • broker
  • topic
  • username 如果 MQTT server/broker 不强制认证/授权,则为可选
  • password 如果 MQTT server/broker 不强制认证/授权,则为可选

其他可选参数请以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_mqtt \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

Broker

必填

MINIO_NOTIFY_MQTT_BROKER

envvar

notify_mqtt broker

mc-conf

指定 MQTT server/broker 端点。 MinIO 支持通过 TCP、TLS 或 Websocket 连接到 server/broker URL。 例如:

  • tcp://mqtt.example.net:1883
  • tls://mqtt.example.net:1883
  • ws://mqtt.example.net:1883
说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Topic

必填

MINIO_NOTIFY_MQTT_TOPIC

envvar

notify_mqtt topic

mc-conf

指定 MQTT topic 名称,用于关联 MinIO 发布到 MQTT 端点的事件。

Username

如果 MQTT server/broker 强制认证/授权,则必填

MINIO_NOTIFY_MQTT_USERNAME

envvar

notify_mqtt username

mc-conf

指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名。

Password

如果 MQTT server/broker 强制认证/授权,则必填

MINIO_NOTIFY_MQTT_PASSWORD

envvar

notify_mqtt password

mc-conf

指定 MinIO 用于向 MQTT server/broker 进行身份认证的 MQTT 用户名对应的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

作为 mc admin config get 返回结果的一部分时,MinIO 会对该值进行脱敏处理。

服务质量(QoS)

可选

MINIO_NOTIFY_MQTT_QOS

envvar

notify_mqtt qos

mc-conf

指定已发布事件的 Quality of Service 优先级。

默认为 0

Keep Alive 间隔

可选

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL

envvar

notify_mqtt keep_alive_interval

mc-conf

指定 MQTT 连接的 keep-alive 间隔。MinIO 支持以下时间单位:

  • s - 秒,例如 “60s”
  • m - 分钟,例如 “60m”
  • h - 小时,例如 “24h”
  • d - 天,例如 “7d”

重连间隔

可选

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL

envvar

notify_mqtt reconnect_interval

mc-conf

指定 MQTT 连接的重连间隔。MinIO 支持以下时间单位:

  • s - 秒,例如 “60s”
  • m - 分钟,例如 “60m”
  • h - 小时,例如 “24h”
  • d - 天,例如 “7d”

队列目录

可选

MINIO_NOTIFY_MQTT_QUEUE_DIR

envvar

notify_mqtt queue_dir

mc-conf

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

当 MQTT server/broker 离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_MQTT_QUEUE_LIMIT

envvar

notify_mqtt queue_limit

mc-conf

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

注释

可选

MINIO_NOTIFY_MQTT_COMMENT

envvar

notify_mqtt comment

mc-conf

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

5 - MySQL 通知设置

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

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

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

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

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

警告

重要

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

多个 MySQL 目标

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

示例

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

export MINIO_NOTIFY_MYSQL_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_PRIMARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_MYSQL_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MYSQL_DSN_STRING_SECONDARY="username:password@tcp(mysql.example.com:3306)/miniodb"
export MINIO_NOTIFY_MYSQL_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_MYSQL_FORMAT_SECONDARY="namespace"

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

mc admin config set notify_mysql:primary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_mysql:secondary \
   dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

设置

启用

必需

MINIO_NOTIFY_MYSQL_ENABLE

envvar

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

默认为 off

若设置为 on,则还必须指定以下环境变量:

notify_mysql

mc-conf

用于定义 MySQL 服务端点以配合 MinIO bucket notifications 使用的顶层配置键。

使用 mc admin config set 设置或更新 MySQL 服务端点。 每个目标都 必需 以下参数:

其他可选参数请以空白字符(" ")分隔列表形式指定。

mc admin config set notify_mysql \
  dsn_string="username:password@tcp(mysql.example.com:3306)/miniodb"
  table="minioevents" \
  format="namespace" \
  [ARGUMENT="VALUE"] ... \

数据源名称(DSN)字符串

必需

MINIO_NOTIFY_MYSQL_DSN_STRING

envvar

notify_mysql dsn_string

mc-conf

指定 MySQL 服务端点的数据源名称(DSN)。MinIO 期望使用以下格式:

<user>:<password>@tcp(<host>:<port>)/<database>

例如:

"username:password@tcp(mysql.example.com:3306)/miniodb"

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必需

MINIO_NOTIFY_MYSQL_TABLE

envvar

notify_mysql table

mc-conf

指定 MinIO 发布事件通知到的 MySQL 表名。

格式

必需

MINIO_NOTIFY_MYSQL_FORMAT

envvar

notify_mysql format

mc-conf

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

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,将事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 MySQL 生成的随机 ID 追加到表中。 对对象的后续更新会产生新的索引条目,且现有条目保持不变。

最大打开连接数

可选

MINIO_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS

envvar

notify_mysql max_open_connections

mc-conf

指定与 MySQL 数据库建立的最大打开连接数。

默认为 2

队列目录

可选

MINIO_NOTIFY_MYSQL_QUEUE_DIR

envvar

notify_mysql queue_dir

mc-conf

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

当 MySQL 服务器/代理离线时,MinIO 会将未投递事件存储在指定位置;连接恢复后会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_MYSQL_QUEUE_LIMIT

envvar

notify_mysql queue_limit

mc-conf

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

注释

可选

MINIO_NOTIFY_MYSQL_COMMENT

envvar

notify_mysql comment

mc-conf

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

6 - NATS 通知设置

说明

NATS Streaming 已弃用

NATS Streaming 已弃用。 请迁移到 JetStream

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

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

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

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

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

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

警告

重要

每个配置项都会控制 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

envvar

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

默认为 off

notify_nats

mc-conf

用于定义 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

envvar

notify_nats address

mc-conf

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

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

Subject

必填

MINIO_NOTIFY_NATS_SUBJECT

envvar

notify_nats subject

mc-conf

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

用户名

可选

MINIO_NOTIFY_NATS_USERNAME

envvar

notify_nats username

mc-conf

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

密码

可选

MINIO_NOTIFY_NATS_PASSWORD

envvar

notify_nats password

mc-conf

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

说明

变更: RELEASE.2023-06-23T20-26-00Z

MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

Token

可选

MINIO_NOTIFY_NATS_TOKEN

envvar

notify_nats token

mc-conf

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

说明

变更: RELEASE.2023-06-23T20-26-00Z

MinIO 在作为 mc admin config get 返回结果的一部分时会对该值进行脱敏。

用户凭证文件

可选

MINIO_NOTIFY_NATS_USER_CREDENTIALS

envvar

notify_nats user_credentials

mc-conf

指定用于连接 NATS 服务端点的 user credentials file

TLS

可选

MINIO_NOTIFY_NATS_TLS

envvar

notify_nats tls

mc-conf

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

TLS Skip Verify

可选

MINIO_NOTIFY_NATS_TLS_SKIP_VERIFY

envvar

notify_nats tls_skip_verify

mc-conf

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

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

Ping Interval

可选

MINIO_NOTIFY_NATS_PING_INTERVAL

envvar

notify_nats ping_interval

mc-conf

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

  • s - 秒,"60s"
  • m - 分钟,"5m"
  • h - 小时,"1h"
  • d - 天,"1d"

Jetstream

可选

MINIO_NOTIFY_NATS_JETSTREAM

envvar

notify_nats jetstream

mc-conf

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

Streaming

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING

envvar

notify_nats streaming

mc-conf

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

Streaming Async

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_ASYNC

envvar

notify_nats streaming_async

mc-conf

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

Max ACK Responses In Flight

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_MAX_PUB_ACKS_IN_FLIGHT

envvar

notify_nats streaming_max_pub_acks_in_flight

mc-conf

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

Streaming Cluster ID

已弃用

可选

MINIO_NOTIFY_NATS_STREAMING_CLUSTER_ID

envvar

notify_nats streaming_cluster_id

mc-conf

指定 NATS Streaming 集群的唯一 ID。

Cert Authority

可选

MINIO_NOTIFY_NATS_CERT_AUTHORITY

envvar

notify_nats cert_authority

mc-conf

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

Client Cert

可选

MINIO_NOTIFY_NATS_CLIENT_CERT

envvar

notify_nats client_cert

mc-conf

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

Client Key

可选

MINIO_NOTIFY_NATS_CLIENT_KEY

envvar

notify_nats client_key

mc-conf

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

Queue Directory

可选

MINIO_NOTIFY_NATS_QUEUE_DIR

envvar

notify_nats queue_dir

mc-conf

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

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

Queue Limit

可选

MINIO_NOTIFY_NATS_QUEUE_LIMIT

envvar

notify_nats queue_limit

mc-conf

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

Comment

可选

MINIO_NOTIFY_NATS_COMMENT

envvar

notify_nats comment

mc-conf

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

7 - NSQ 通知设置

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

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

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

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

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

警告

重要

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

多个 NSQ 目标

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

环境变量
export MINIO_NOTIFY_NSQ_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_PRIMARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_NSQ_TOPIC_PRIMARY="bucketevents"

export MINIO_NOTIFY_NSQ_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_NSQ_NSQD_ADDRESS_SECONDARY="https://user:[email protected]:9200"
export MINIO_NOTIFY_NSQ_TOPIC_SECONDARY="bucketevents"
配置项
mc admin config set notify_nsq:primary \
   nsqd_address="ENDPOINT" \
   topic="<string>" \
   [ARGUMENT="VALUE"] ... \

mc admin config set notify_nsq:secondary \
   nsqd_address="ENDPOINT" \
   topic="<string>" \
   [ARGUMENT="VALUE"] ... \

设置

启用

必填

MINIO_NOTIFY_NSQ_ENABLE

envvar

指定 on 以启用将存储桶通知发布到 NSQ 端点。

notify_nsq

mc-conf

用于定义 NSQ server/broker 端点的顶层配置键,供 MinIO 存储桶通知 使用。

使用 mc admin config set 设置或更新 NSQ server/broker 端点。 每个端点都 必须 包含以下参数:

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_nsq                          \
   nsqd_address="https://nsq-endpoint.example.net:4150" \
   topic="<string>"                                     \
   [ARGUMENT="VALUE"] ...

NSQ Daemon 服务器地址

必填

MINIO_NOTIFY_NSQ_NSQD_ADDRESS

envvar

notify_nsq nsqd_address

mc-conf

指定 NSQ Daemon 运行所在的 NSQ 服务器地址。 例如:

https://nsq-endpoint.example.net:4150

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

主题

必填

MINIO_NOTIFY_NSQ_TOPIC

envvar

notify_nsq topic

mc-conf

指定 MinIO 向 broker 发布事件时使用的 NSQ topic 名称。

TLS

可选

MINIO_NOTIFY_NSQ_TLS

envvar

notify_nsq tls

mc-conf

指定 on 以启用到 NSQ service broker 的 TLS 连接。

TLS 跳过校验

可选

MINIO_NOTIFY_NSQ_TLS_SKIP_VERIFY

envvar

notify_nsq tls_skip_verify

mc-conf

启用或禁用对 NSQ service broker TLS 证书的 TLS 校验。

  • 指定 on 可禁用 TLS 校验(默认)。
  • 指定 off 可启用 TLS 校验。

队列目录

可选

MINIO_NOTIFY_NSQ_QUEUE_DIR

envvar

notify_nsq queue_dir

mc-conf

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

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

队列上限

可选

MINIO_NOTIFY_NSQ_QUEUE_LIMIT

envvar

notify_nsq queue_limit

mc-conf

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

备注

可选

MINIO_NOTIFY_NSQ_COMMENT

envvar

notify_nsq comment

mc-conf

指定与 NSQ 配置关联的备注。

8 - PostgreSQL 通知设置

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

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

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

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

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

警告

重要

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

多个 PostgreSQL 目标

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

环境变量
export MINIO_NOTIFY_POSTGRES_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_PRIMARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_PRIMARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_PRIMARY="namespace"

export MINIO_NOTIFY_POSTGRES_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_POSTGRES_CONNECTION_STRING_SECONDARY="host=postgresql-endpoint.example.net port=4222..."
export MINIO_NOTIFY_POSTGRES_TABLE_SECONDARY="minioevents"
export MINIO_NOTIFY_POSTGRES_FORMAT_SECONDARY="namespace"
配置设置
mc admin config set notify_postgres:primary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

mc admin config set notify_postgres:secondary \
   connection_string="host=postgresql.example.com port=5432..."
   table="minioevents" \
   format="namespace" \
   [ARGUMENT=VALUE ...]

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

设置

启用

必填

MINIO_NOTIFY_POSTGRES_ENABLE

envvar

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

默认为 off

如果设置为 on,则还必须指定以下环境变量:

notify_postgres

mc-conf

用于定义 PostgreSQL 服务端点的顶层配置键,可用于 MinIO bucket notifications

使用 mc admin config set 设置或更新 PostgreSQL 服务端点。 每个目标都 必须 提供以下参数:

其他可选参数以空白字符(" ")分隔的列表形式指定。

mc admin config set notify_postgres                            \
  connection_string="host=postgresql.example.com port=5432..." \
  table="minioevents"                                          \
  format="namespace"                                           \
  [ARGUMENT="VALUE"] ...

连接字符串

必填

MINIO_NOTIFY_POSTGRES_CONNECTION_STRING

envvar

notify_postgres connection_string

mc-conf

指定 PostgreSQL 服务端点的 URI connection string。 MinIO 支持 key=value 格式的 PostgreSQL 连接字符串。 例如:

"host=https://postgresql.example.com port=5432 ..."

有关受支持 PostgreSQL 连接字符串参数的完整文档,请参阅 PostgreSQL Connection Strings documentation

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必填

MINIO_NOTIFY_POSTGRES_TABLE

envvar

notify_postgres table

mc-conf

指定 MinIO 发布事件通知的 PostgreSQL 表名称。

格式

必填

MINIO_NOTIFY_POSTGRES_FORMAT

envvar

notify_postgres format

mc-conf

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

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,使用事件中的存储桶和对象名称作为文档 ID,并将实际事件作为文档内容的一部分。 对该对象的后续更新会修改该对象在表中的现有条目。 同样,删除该对象也会删除对应的表条目。

access

对于每个存储桶事件,MinIO 会创建包含事件详情的 JSON 文档,并以 PostgreSQL 生成的随机 ID 将其追加到表中。 对对象的后续更新会产生新的索引条目,现有条目保持不变。

最大打开连接数

可选

MINIO_NOTIFY_POSTGRES_MAX_OPEN_CONNECTIONS

envvar

notify_postgres max_open_connections

mc-conf

指定与 PostgreSQL 数据库建立的最大打开连接数。

默认为 2

队列目录

可选

MINIO_NOTIFY_POSTGRES_QUEUE_DIR

envvar

notify_postgres queue_dir

mc-conf

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

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

队列上限

可选

MINIO_NOTIFY_POSTGRES_QUEUE_LIMIT

envvar

notify_postgres queue_limit

mc-conf

指定未投递消息的数量上限。 默认为 100000

注释

可选

MINIO_NOTIFY_POSTGRES_COMMENT

envvar

notify_postgres comment

mc-conf

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

9 - Redis 通知设置

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

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

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

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

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

警告

重要

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

多个 Redis 目标

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

环境变量
export MINIO_NOTIFY_REDIS_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_REDIS_ADDRESS_PRIMARY="redis-endpoint.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_PRIMARY="bucketevents"
export MINIO_NOTIFY_REDIS_FORMAT_PRIMARY="namespace"


export MINIO_NOTIFY_REDIS_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_REDIS_REDIS_ADDRESS_SECONDARY="redis-endpoint2.example.net:9200"
export MINIO_NOTIFY_REDIS_KEY_SECONDARY="bucketevents"
export 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

envvar

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

默认为 off

如果设置为 on,还必须指定以下附加环境变量:

notify_redis

mc-conf

用于定义 Redis server/broker 端点并供 MinIO bucket notifications 使用的顶层配置键。

使用 mc admin config set 设置或更新 Redis server/broker 端点。 对于每个端点,以下参数为 必需

将其他可选参数指定为以空白字符(" ")分隔的列表。

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

地址

必需

MINIO_NOTIFY_REDIS_ADDRESS

envvar

notify_redis address

mc-conf

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

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

必需

MINIO_NOTIFY_REDIS_KEY

envvar

notify_redis key

mc-conf

指定用于存储和更新事件的 Redis 键。 如果该键不存在,Redis 会自动创建。

格式

必需

MINIO_NOTIFY_REDIS_FORMAT

envvar

notify_redis format

mc-conf

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

namespace

对于每个存储桶事件,MinIO 会创建一个 JSON 文档,以事件中的存储桶名和对象名作为文档 ID,并将实际事件作为文档体的一部分。 对该对象的后续更新会修改该对象现有的索引条目。 同样,删除对象也会删除对应的索引条目。

access

对于每个存储桶事件,MinIO 会创建一个包含事件详情的 JSON 文档,并以 Redis 生成的随机 ID 将其追加到该键。 对对象的后续更新会产生新的索引条目,现有条目保持不变。

密码

可选

MINIO_NOTIFY_REDIS_PASSWORD

envvar

notify_redis password

mc-conf

指定 Redis 服务器的密码。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 返回结果的一部分时,MinIO 会对其进行脱敏。

用户

可选

说明

新增: RELEASE.2024-03-21T23-13-43Z

MINIO_NOTIFY_REDIS_USER

envvar

notify_redis user

mc-conf

指定 Redis 服务器的用户。

队列目录

可选

MINIO_NOTIFY_REDIS_QUEUE_DIR

envvar

notify_redis queue_dir

mc-conf

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

当 Redis server/broker 离线时,MinIO 会将未投递事件存储到指定存储中;连接恢复后,会重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_REDIS_QUEUE_LIMIT

envvar

notify_redis queue_limit

mc-conf

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

注释

可选

MINIO_NOTIFY_REDIS_COMMENT

envvar

notify_redis comment

mc-conf

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

10 - Webhook 服务通知设置

本页记录了将 Webhook 服务配置为 存储桶通知 目标所需的设置。 有关如何使用这些设置的教程,请参见 将事件发布到 Webhook

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

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

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

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

警告

重要

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

多个 Webhook 服务目标

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

环境变量
export MINIO_NOTIFY_WEBHOOK_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_PRIMARY="https://webhook1.example.net"

export MINIO_NOTIFY_WEBHOOK_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_WEBHOOK_ENDPOINT_SECONDARY="https://webhook1.example.net"
配置设置
mc admin config set notify_webhook:primary \
   endpoint="https://webhook1.example.net"
   [ARGUMENT=VALUE ...]

mc admin config set notify_webhook:secondary \
   endpoint="https://webhook2.example.net
   [ARGUMENT=VALUE ...]

设置

启用

必需

MINIO_NOTIFY_WEBHOOK_ENABLE

envvar

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

默认为 off

notify_webhook

mc-conf

用于定义 Webhook 服务端点的顶层配置键,可用于 MinIO 存储桶通知

使用 mc admin config set 设置或更新 Webhook 服务端点。 endpoint 参数对每个目标均为 必需。 将其他可选参数指定为以空白字符(" ")分隔的列表。

mc admin config set notify_webhook \
  endpoint="https://webhook.example.net"
  [ARGUMENT="VALUE"] ... \

端点

必需

MINIO_NOTIFY_WEBHOOK_ENDPOINT

envvar

notify_webhook endpoint

mc-conf

指定 Webhook 服务的 URL。

说明

变更: RELEASE.2023-05-27T05-56-19Z

在添加目标之前,如果指定的 URL 可解析且可达, MinIO 会先检查其健康状态。 如果现有目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

认证令牌

必需

MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN

envvar

适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。

为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。

例如,对于 Bearer 令牌,请在前面加上 Bearer

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_myendpoint="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

export MINIO_NOTIFY_WEBHOOK_AUTH_TOKEN_xyz="ServiceXYZ 1a2b3c4f5e"

更多详情请查阅目标服务的文档。

notify_webhook auth_token

mc-conf

适用于该端点类型的认证令牌。 对于不需要认证的端点可省略。

为支持多种令牌类型,MinIO 会使用 完全按所给内容 的值来构造请求认证头。 根据端点要求,你可能需要包含额外信息。

例如,对于 Bearer 令牌,请在前面加上 Bearer

   mc admin config set myminio notify_webhook   \
   endpoint="https://webhook-1.example.net"  \
      auth_token="Bearer 1a2b3c4f5e"

请根据端点要求调整该值。 自定义认证格式可能类似如下:

   mc admin config set myminio notify_webhook   \
      endpoint="https://webhook-1.example.net"  \
      auth_token="ServiceXYZ 1a2b3c4f5e"

更多详情请查阅目标服务的文档。

说明

变更: RELEASE.2023-06-23T20-26-00Z

当该值作为 mc admin config get 的返回内容的一部分时,MinIO 会将其打码。

队列目录

可选

MINIO_NOTIFY_WEBHOOK_QUEUE_DIR

envvar

notify_webhook queue_dir

mc-conf

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

当 Webhook 服务离线时,MinIO 会将未投递事件存储到指定存储中,并在连接恢复后重放这些已存储事件。

队列上限

可选

MINIO_NOTIFY_WEBHOOK_QUEUE_LIMIT

envvar

notify_webhook queue_limit

mc-conf

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

客户端证书

可选

MINIO_NOTIFY_WEBHOOK_CLIENT_CERT

envvar

notify_webhook client_cert

mc-conf

指定用于向 Webhook 服务执行 mTLS 认证的客户端证书路径。

客户端密钥

可选

MINIO_NOTIFY_WEBHOOK_CLIENT_KEY

envvar

notify_webhook client_key

mc-conf

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