这是本节的多页打印视图。 .
监控存储桶与对象事件
-
1: 存储桶通知
- 2: 将事件发布到 AMQP (RabbitMQ)
- 3: 将事件发布到 MQTT
- 4: 将事件发布到 NATS
- 5: 将事件发布到 NSQ
- 6: 将事件发布到 Elasticsearch
- 7: 将事件发布到 Kafka
- 8: 将事件发布到 MySQL
- 9: 将事件发布到 PostgreSQL
- 10: 将事件发布到 Redis
- 11: 将事件发布到 Webhook
存储桶通知
MinIO 存储桶通知允许管理员在特定对象或存储桶事件发生时,将通知发送到受支持的外部服务。 MinIO 支持与 Amazon S3 Event Notifications 类似的存储桶级和对象级 S3 事件。
在某些受支持的事件上,MinIO 支持将存储桶或对象事件发布到以下受支持的目标。
- 将事件发布到 AMQP (RabbitMQ)
- 将事件发布到 MQTT
- 将事件发布到 NATS
- 将事件发布到 NSQ
- 将事件发布到 Elasticsearch
- 将事件发布到 Kafka
- 将事件发布到 MySQL
- 将事件发布到 PostgreSQL
- 将事件发布到 Redis
- 将事件发布到 Webhook
有关 MinIO 存储桶通知的更完整文档,请参见 存储桶通知。
部署指标
MinIO 提供兼容 Prometheus 的端点,以支持对指标进行时间序列查询。
服务日志
MinIO 提供以下接口用于远程读取服务日志:
mc admin logs命令会返回指定服务器的控制台输出。- MinIO 支持将服务日志推送到 HTTP webhook,以便进一步采集。 更多信息请参见 将服务日志发布到 HTTP Webhook。
1 - 存储桶通知
MinIO 存储桶通知允许管理员在特定对象或存储桶事件发生时,将通知发送到受支持的外部服务。 MinIO 支持与 Amazon S3 Event Notifications 类似的存储桶级和对象级 S3 事件。
支持的通知目标
MinIO 支持将事件通知发布到以下目标:
目标 |
说明 |
|---|---|
AMQP (RabbitMQ) |
将通知发布到 AMQP 服务,例如 RabbitMQ. 教程参见 将事件发布到 AMQP (RabbitMQ)。 |
MQTT |
将通知发布到 MQTT 服务。 教程参见 将事件发布到 MQTT。 |
NATS |
将通知发布到 NATS 服务。 教程参见 将事件发布到 NATS。 |
NSQ |
将通知发布到 NSQ 服务。 教程参见 将事件发布到 NSQ |
Elasticsearch |
将通知发布到 Elasticsearch 服务。 教程参见 将事件发布到 Elasticsearch。 |
Kafka |
将通知发布到 Kafka 服务。 教程参见 将事件发布到 Kafka。 |
MySQL |
将通知发布到 MySQL 服务。 教程参见 将事件发布到 MySQL。 |
PostgreSQL |
将通知发布到 PostgreSQL 服务。 教程参见 将事件发布到 PostgreSQL。 |
Redis |
将通知发布到 Redis 服务。 教程参见 将事件发布到 Redis。 |
webhook |
将通知发布到 Webhook 服务。 教程参见 将事件发布到 Webhook。 |
异步与同步存储桶通知
新增: RELEASE.2023-06-23T20-26-00Z
对于 所有 远程目标,MinIO 支持异步(默认)或同步存储桶通知。
使用异步传递时,MinIO 会将事件发送到已配置的远程目标,并且在继续处理下一个事件之前 不会 等待响应。 异步存储桶通知优先保证发送速率,但如果远程目标在传输或处理期间出现瞬时问题,则存在部分事件丢失的风险。
使用同步传递时,MinIO 会将事件发送到已配置的远程目标,然后等待远程目标确认已成功接收后,才继续处理下一个事件。 同步存储桶通知优先保证事件可送达,但代价是事件发送速率较慢且队列更容易被填满。
要为 所有已配置的远程目标 启用同步存储桶通知,请使用以下任一设置:
- 将
MINIO_API_SYNC_EVENTS环境变量设置为on,然后重启 MinIO 部署。 - 将
api.sync_events配置项设置为on,然后重启 MinIO 部署。
说明
对于同步和异步事件,MinIO 都会为每个远程目标维护一个队列,用于存储尚未发送和待处理的事件。 队列上限默认为 100000。
队列已满时,MinIO 会丢弃新事件。
可按需增大队列大小,以更好地适配 MinIO 部署与远程目标的事件发送和处理速率。 使用对应通知方法的 QUEUE_LIMIT 环境变量或配置项来修改该限制。
对于异步事件,MinIO 最多允许 50000 个并发 send 调用。
支持的 S3 事件类型
MinIO 存储桶通知与 Amazon S3 Event Notifications 兼容。 本节列出所有受支持的事件。
对象事件
MinIO 支持在以下 S3 对象事件上触发通知:
s3:ObjectAccessed:Get
data
s3:ObjectAccessed:GetLegalHold
data
s3:ObjectAccessed:GetRetention
data
s3:ObjectAccessed:Head
data
s3:ObjectCreated:CompleteMultipartUpload
data
s3:ObjectCreated:Copy
data
s3:ObjectCreated:DeleteTagging
data
s3:ObjectCreated:Post
data
s3:ObjectCreated:Put
data
s3:ObjectCreated:PutLegalHold
data
s3:ObjectCreated:PutRetention
data
s3:ObjectCreated:PutTagging
data
s3:ObjectRemoved:Delete
data
s3:ObjectRemoved:DeleteMarkerCreated
data
指定通配符 * 可选择与某个前缀相关的所有事件:
s3:ObjectAccessed:*
data
选择所有以 s3:ObjectAccessed 为前缀的事件。
s3:ObjectCreated:*
data
选择所有以 s3:ObjectCreated 为前缀的事件。
s3:ObjectRemoved:*
data
选择所有以 s3:ObjectRemoved 为前缀的事件。
复制事件
MinIO 支持在以下 S3 复制事件上触发通知:
s3:Replication:OperationCompletedReplication
data
s3:Replication:OperationFailedReplication
data
s3:Replication:OperationMissedThreshold
data
s3:Replication:OperationNotTracked
data
s3:Replication:OperationReplicatedAfterThreshold
data
指定通配符 * 可选择所有 s3:Replication 事件:
s3:Replication:*
data
ILM 转换事件
MinIO 支持在以下 S3 ILM 转换事件上触发通知:
s3:ObjectRestore:Post
data
s3:ObjectRestore:Completed
data
s3:ObjectTransition:Failed
data
s3:ObjectTransition:Complete
data
指定通配符 * 可选择与某个前缀相关的所有事件:
s3:ObjectTransition:*
data
选择所有以 s3:ObjectTransition 为前缀的事件。
s3:ObjectRestore:*
data
选择所有以 s3:ObjectRestore 为前缀的事件。
Scanner 事件
MinIO 支持在以下 S3 scanner 转换事件上触发通知:
s3:Scanner:ManyVersions
data
Scanner 发现具有超过 1,000 个版本的对象。
s3:Scanner:BigPrefix
data
Scanner 发现具有超过 50,000 个子文件夹的前缀。
全局事件
MinIO 支持在以下全局事件上触发通知。 只能通过 ListenNotification API 监听这些事件:
s3:BucketCreated
data
s3:BucketRemoved
data
负载模式
所有通知负载都使用相同的整体模式。 根据通知类型的不同,某些字段可能会省略或为 null。
示例
以下示例是 s3:ObjectCreated:Put 事件的通知:
2 - 将事件发布到 AMQP (RabbitMQ)
MinIO 支持将 bucket notification 事件发布到 AMQP 0-9-1 服务端点,例如 RabbitMQ。
MinIO 依赖 https://github.com/streadway/amqp 项目实现 AMQP 连接。该项目主要针对 RabbitMQ 部署进行测试,但其他兼容 AMQP 0-9-1 的服务也可能可以使用。本页中的步骤假定服务端点为使用 AMQP 0-9-1 协议的 RabbitMQ 部署。
向 MinIO 部署添加 AMQP 端点
以下步骤用于向 MinIO 部署添加一个新的 AMQP 服务端点,以支持 bucket notifications。
前提条件
AMQP 0-9-1 服务端点
MinIO 依赖 https://github.com/streadway/amqp 项目实现 AMQP 连接。该项目主要针对 RabbitMQ 部署进行测试,但其他兼容 AMQP 0-9-1-compatible 的服务也可能可以使用。 本步骤假定服务端点为使用 0-9-1 协议的 RabbitMQ 部署。
如果 AMQP 服务要求身份验证,则你必须在配置过程中提供相应的用户名和密码,以授权 MinIO 访问该服务。
MinIO mc 命令行工具
本步骤在部分操作中使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 向 MinIO 添加 AMQP 端点
你可以使用环境变量或运行时配置设置来配置新的 AMQP 服务端点。
MinIO 支持使用 environment variables 指定 AMQP 服务端点及其关联配置设置。 minio server 进程会在下一次启动时应用这些设置。
以下示例代码设置了配置 AMQP 服务端点相关的全部环境变量。 必需的最小变量为 MINIO_NOTIFY_AMQP_ENABLE 和 MINIO_NOTIFY_AMQP_URL:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 AMQP 服务端点的唯一描述性字符串。与新 AMQP 服务端点相关的所有环境变量都应使用相同的<IDENTIFIER>值。以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的某个 AMQP 服务端点匹配,则新设置会覆盖该端点的任何现有设置。使用mc admin config get notify_amqp查看 MinIO 部署上当前已配置的 AMQP 端点。 -
将
<ENDPOINT>替换为 AMQP 服务端点的 URL。 例如:amqp://user:password@hostname:port
参见 AMQP Service for 存储桶通知,获取每个环境变量的完整文档。
MinIO 支持在运行中的 minio server 进程上,使用 mc admin config set 命令和 notify_amqp 配置键来添加或更新 AMQP 端点。你必须重启 minio server 进程,才能应用任何新增或更新的配置设置。
以下示例代码设置了配置 AMQP 服务端点相关的全部设置。 必需的最小设置为 notify_amqp url:
-
将
IDENTIFIER替换为该 AMQP 服务端点的唯一描述性字符串。本步骤中的后续示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的某个 AMQP 服务端点匹配,则新设置会覆盖该端点的任何现有设置。使用mc admin config get notify_amqp查看 MinIO 部署上当前已配置的 AMQP 端点。 -
将
ENDPOINT替换为 AMQP 服务端点的 URL。 例如:amqp://user:password@hostname:port
参见 AMQP Bucket Notification Configuration Settings,获取每个设置的完整文档。
1) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为要重启的部署的 alias。
minio server 进程会在启动时为每个已配置的 AMQP 目标打印一行类似如下的内容:
在将关联的 AMQP 部署配置为目标时,你必须在 bucket notification 配置中指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:amqp。
使用 jq 从 JSON 中解析该值
3) 使用 AMQP 端点作为目标配置 存储桶通知
使用 mc event add 命令新增 bucket notification 事件,并将已配置的 AMQP 服务作为目标:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
BUCKET替换为要配置事件的存储桶名称。 - 将
EVENTS替换为以逗号分隔的 events 列表,MinIO 会在这些事件发生时触发通知。
使用 mc event ls 查看给定通知目标上已配置的所有 bucket 事件:
4) 验证已配置的事件
对配置了新事件的存储桶执行一个操作,并检查 AMQP 服务中的通知数据。所需的具体操作取决于配置 bucket notification 时指定了哪些 events。
例如,如果 bucket notification 配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在该存储桶中创建一个新对象,并触发通知。
更新 MinIO 部署中的 AMQP 端点
以下步骤用于更新 MinIO 部署中现有的 AMQP 服务端点,以支持 bucket notifications。
前提条件
AMQP 0-9-1 服务端点
MinIO 依赖 https://github.com/streadway/amqp 项目实现 AMQP 连接。该项目主要针对 RabbitMQ 部署进行测试,但其他兼容 AMQP 0-9-1-compatible 的服务也可能可以使用。 本步骤假定服务端点为 RabbitMQ 部署。
如果 AMQP 服务要求身份验证,则你必须在配置过程中提供相应的用户名和密码,以授权 MinIO 访问该服务。
MinIO mc 命令行工具
本步骤在部分操作中使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 列出部署中已配置的 AMQP 端点
使用 mc admin config get 命令列出部署中当前已配置的 AMQP 服务端点:
将 ALIAS 替换为 MinIO 部署的 alias。
命令输出类似如下:
notify_amqp 键是 AMQP 通知设置 的顶层配置键。 url 键为给定的 notify_amqp 键指定 AMQP 服务端点。 notify_amqp:<IDENTIFIER> 后缀表示该 AMQP 服务端点的唯一标识符。
记下你要更新的 AMQP 服务端点标识符,以供下一步使用。
2) 更新 AMQP 端点
使用 mc admin config set 命令为该 AMQP 服务端点设置新配置:
notify_amqp url 配置设置是 AMQP 服务端点所需的最小配置。其他所有配置设置都是可选的。参见 AMQP 通知设置,获取完整的 AMQP 配置设置列表。
3) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为要重启的部署的 alias。
minio server 进程会在启动时为每个已配置的 AMQP 目标打印一行类似如下的内容:
4) 验证更改
对某个使用已更新 AMQP 服务端点配置事件的存储桶执行一个操作,并检查 AMQP 服务中的通知数据。所需的具体操作取决于配置 bucket notification 时指定了哪些 events。
例如,如果 bucket notification 配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在该存储桶中创建一个新对象,并触发通知。
3 - 将事件发布到 MQTT
MinIO 支持将 存储桶通知 事件发布到 MQTT server/broker 端点。
向 MinIO 部署添加 MQTT 端点
以下过程会添加一个新的 MQTT 服务端点,以在 MinIO 部署中支持 存储桶通知。
前提条件
MQTT 3.1 或 3.1.1 服务器/代理
此过程假定已存在一个 MQTT 3.1 或 3.1.1 server/broker,且 MinIO 部署能够连接到它。有关兼容 MQTT 的 server/broker 列表,请参见 mqtt.org software listing。
如果 MQTT 服务需要身份验证,则在配置过程中 必须 提供适当的用户名和密码, 以授予 MinIO 访问该服务的权限。
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 将 MQTT 端点添加到 MinIO
你可以通过环境变量 或 运行时配置设置来配置新的 MQTT 服务端点。
MinIO 支持使用 环境变量 指定 MQTT 服务端点及其相关 配置设置。minio server 进程会在下次启动时应用这些设置。
以下示例代码设置了与配置 MQTT 服务端点相关的 全部 环境变量。 最少 需要以下变量:
MINIO_NOTIFY_MQTT_ENABLEMINIO_NOTIFY_MQTT_BROKERMINIO_NOTIFY_MQTT_TOPICMINIO_NOTIFY_MQTT_USERNAME如果 MQTT server/broker 强制要求身份验证/授权,则必需MINIO_NOTIFY_MQTT_PASSWORD如果 MQTT server/broker 强制要求身份验证/授权,则必需
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为 MQTT 服务端点的唯一描述性字符串。 对所有与新 MQTT 服务端点相关的环境变量都使用相同的<IDENTIFIER>值。以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的 MQTT 服务端点匹配, 新设置将 覆盖 该端点的任何现有设置。使用mc admin config get notify_mqtt查看 MinIO 部署上当前配置的 MQTT 端点。 -
将
<ENDPOINT>替换为 MQTT 服务端点的 URL。例如:tcp://hostname:port -
将
TOPIC替换为 MQTT topic,MinIO 会将发布到 server/broker 的 事件关联到该 topic。
有关每个环境变量的完整文档,请参见 用于存储桶通知的 MQTT 服务。
MinIO 支持在运行中的 minio server 进程上使用 mc admin config set 命令和 notify_mqtt 配置键添加或更新 MQTT 端点。你必须重启 minio server 进程,才能应用任何新增或更新的配置设置。
以下示例代码设置了与配置 MQTT 服务端点相关的 全部 设置。 对于 MQTT server/broker 端点,以下配置设置是 最少 必需项:
brokertopicusername如果 MQTT server/broker 强制要求身份验证/授权,则必需password如果 MQTT server/broker 强制要求身份验证/授权,则必需
-
将
IDENTIFIER替换为 MQTT 服务端点的唯一描述性字符串。 本过程后续示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的 MQTT 服务端点匹配, 新设置将 覆盖 该端点的任何现有设置。使用mc admin config get notify_mqtt查看 MinIO 部署上当前配置的 MQTT 端点。 -
将
ENDPOINT替换为 MQTT 服务端点的 URL。例如:tcp://hostname:port -
将
TOPIC替换为 MQTT topic,MinIO 会将发布到 server/broker 的 事件关联到该 topic。
有关每个设置的完整文档,请参见 MQTT 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 MQTT 目标打印一行类似如下的内容:
将关联的 MQTT 部署配置为目标时,你必须在配置存储桶通知时指定 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:mqtt。
使用 jq 从 JSON 中解析该值
1) 将 MQTT 端点配置为存储桶通知目标
使用 mc event add 命令添加新的存储桶通知事件,并将已配置的 MQTT 服务作为目标:
使用 mc event ls 查看给定通知目标已配置的所有存储桶事件:
4) 验证已配置的事件
对已配置新事件的存储桶执行某个操作,并检查 MQTT 服务中的通知数据。 所需操作取决于配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
更新 MinIO 部署中的 MQTT 端点
以下过程会更新现有 MQTT 服务端点,以在 MinIO 部署中支持 存储桶通知。
前提条件
MQTT 3.1 或 3.1.1 服务器/代理端点
此过程假定已存在一个 MQTT 3.1 或 3.1.1 server/broker,且 MinIO 部署能够连接到它。有关兼容 MQTT 的 server/broker 列表,请参见 mqtt.org software listing。
如果 MQTT 服务需要身份验证,则在配置过程中 必须 提供适当的用户名和密码, 以授予 MinIO 访问该服务的权限。
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 列出部署中已配置的 MQTT 端点
使用 mc admin config get 命令列出该部署中当前已配置的 MQTT 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_mqtt 键是 MQTT 通知设置 的顶层配置键。 broker 键为给定的 notify_mqtt 键指定 MQTT server/broker 端点。notify_mqtt:<IDENTIFIER> 后缀描述该 MQTT 服务端点的唯一标识符。
记下要更新的 MQTT 服务端点标识符,供下一步使用。
2) 更新 MQTT 端点
使用 mc admin config set 命令为 MQTT 服务端点设置新配置:
以下配置设置是 MQTT server/broker 端点的 最少 必需项:
brokertopicusername如果 MQTT server/broker 强制要求身份验证/授权,则必需password如果 MQTT server/broker 强制要求身份验证/授权,则必需
所有其他配置设置均为 可选。有关 MQTT 配置设置的完整列表,请参见 MQTT 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 MQTT 目标打印一行类似如下的内容:
3) 验证更改
对某个使用已更新 MQTT 服务端点进行事件配置的存储桶执行某个操作, 并检查 MQTT 服务中的通知数据。所需操作取决于配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
4 - 将事件发布到 NATS
MinIO 支持将 存储桶通知 事件发布到 NATS 服务端点。
向 MinIO 部署添加 NATS 端点
以下过程会在 MinIO 部署中添加一个新的 NATS 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 将 NATS 端点添加到 MinIO
你可以通过环境变量 或 运行时配置设置来配置新的 NATS 服务端点。
MinIO 支持使用 环境变量 指定 NATS 服务端点及其相关配置设置。 minio server 进程会在下次启动时应用这些指定设置。
以下示例代码设置了与配置 NATS 服务端点相关的 全部 环境变量。 最低 必需 的变量是 MINIO_NOTIFY_NATS_ADDRESS 和 MINIO_NOTIFY_NATS_SUBJECT:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 NATS 服务端点的唯一描述性字符串。 对新目标服务端点相关的所有环境变量使用相同的<IDENTIFIER>值。 以下示例假设标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的 NATS 服务端点匹配,新设置将 覆盖 该端点的任何现有设置。 使用mc admin config get notify_nats查看 MinIO 部署中当前配置的 NATS 端点。 -
将
<ENDPOINT>替换为 NATS 服务端点的主机名和端口。 例如:nats-endpoint.example.com:4222
有关每个环境变量的完整文档,请参见 用于存储桶通知的 NATS 服务。
MinIO 支持在正在运行的 minio server 进程上使用 mc admin config set 命令和 notify_nats 配置键来添加或更新 NATS 端点。你必须重启 minio server 进程,才能应用任何新增或更新的配置 设置。
以下示例代码设置了与配置 NATS 服务端点相关的 全部 设置。 最低 必需 的设置是 notify_nats address 和 notify_nats subject:
-
将
IDENTIFIER替换为该 NATS 服务端点的唯一描述性字符串。 本过程中的以下示例假设标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的 NATS 服务端点匹配,新设置将 覆盖 该端点的任何现有设置。 使用mc admin config get notify_nats查看 MinIO 部署中当前配置的 NATS 端点。 -
将
ENDPOINT替换为 NATS 服务端点的主机名和端口。 例如:nats-endpoint.example.com:4222。
有关每个设置的完整文档,请参见 NATS 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程会在启动时为每个已配置的 NATS 目标输出一行内容,类似如下:
将相关 NATS 部署配置为目标时,你必须在配置存储桶通知时指定 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:nats。
使用 jq 从 JSON 中解析该值
3) 将 NATS 端点作为目标来配置存储桶通知
使用 mc event add 命令添加新的存储桶通知事件,并将已配置的 NATS 服务作为目标:
使用 mc event ls 查看给定通知目标的所有已配置存储桶事件:
4) 验证已配置的事件
对已配置新事件的存储桶执行某个操作,并检查 NATS 服务中的通知数据。 所需操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 你可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
更新 MinIO 部署中的 NATS 端点
以下过程会更新 MinIO 部署中现有的 NATS 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 列出部署中已配置的 NATS 端点
使用 mc admin config get 命令列出部署中当前配置的 NATS 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_nats 键是 NATS 通知设置 的顶层配置键。 address 键为给定的 notify_nats 键指定 NATS 服务端点。 notify_nats:<IDENTIFIER> 后缀表示该 NATS 服务端点的唯一标识符。
记下你要更新的 NATS 服务端点标识符,以便在下一步中使用。
2) 更新 NATS 端点
使用 mc admin config set 命令为 NATS 服务端点设置新配置:
notify_nats address 配置设置是 NATS 服务端点的 最低 必需项。 所有其他配置设置均为 可选。 有关 NATS 配置设置的完整列表,请参见 NATS 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置更改。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程会在启动时为每个已配置的 NATS 目标输出一行内容,类似如下:
4) 验证更改
对使用更新后 NATS 服务端点进行事件配置的存储桶执行某个操作, 并检查 NATS 服务中的通知数据。 所需操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 你可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
5 - 将事件发布到 NSQ
MinIO 支持将 存储桶通知 事件发布到 NSQ 服务端点。
为 MinIO 部署添加 NSQ 端点
以下过程会在 MinIO 部署中新增一个 NSQ 服务端点,用于支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 将 NSQ 端点添加到 MinIO
你可以使用环境变量,或 通过设置运行时配置项来配置新的 NSQ 服务端点。
MinIO 支持使用 环境变量 指定 NSQ 服务端点及其相关 配置设置。minio server 进程会在下一次启动时应用这些指定的设置。
以下示例代码设置了与配置 NSQ 服务端点相关的 全部 环境变量。 必需 的最小变量集为 MINIO_NOTIFY_NSQ_NSQD_ADDRESS 和 MINIO_NOTIFY_NSQ_TOPIC:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为目标服务端点的唯一描述性字符串。 对与新目标服务端点相关的所有环境变量使用相同的<IDENTIFIER>值。 以下示例假设该标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署上现有的 NSQ 服务 端点匹配,则新设置会 覆盖 该端点的任何现有设置。使用mc admin config get notify_nsq查看 MinIO 部署上当前已配置的 NSQ 端点。 -
将
<ENDPOINT>替换为 NSQ 服务端点的 URL。 例如,https://nsq-service.example.com:4150。
有关每个环境变量的完整文档,请参见 用于存储桶通知的 NSQ 服务。
MinIO 支持在运行中的 minio server 进程上使用 mc admin config set 命令和 notify_nsq 配置键来添加或更新 NSQ 端点。你必须重启 minio server 进程,才能应用任何新增或更新的配置设置。
以下示例代码设置了与配置 NSQ 服务端点相关的 全部 设置。 必需 的最小设置为 notify_nsq nsqd_address 和 notify_nsq topic:
-
将
IDENTIFIER替换为 NSQ 服务端点的唯一描述性字符串。 本过程中的以下示例假设该标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署上现有的 NSQ 服务 端点匹配,则新设置会 覆盖 该端点的任何现有设置。使用mc admin config get notify_nsq查看 MinIO 部署上当前已配置的 NSQ 端点。 -
将
ENDPOINT替换为 NSQ 服务端点的 URL。 例如:NSQ://user:password@hostname:port
有关每个设置的完整文档,请参见 NSQ Bucket Notification Configuration Settings。
1) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启部署的 别名。
minio server 进程在启动时会为每个已配置的 NSQ 目标打印一行内容,类似如下:
在将关联的 NSQ 部署配置为目标时,你必须在配置存储桶通知时指定 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:nsq。
使用 jq 从 JSON 中解析该值
3) 将 NSQ 端点配置为存储桶通知目标
使用 mc event add 命令新增一个存储桶通知事件,并将已配置的 NSQ 服务作为目标:
使用 mc event ls 查看给定通知目标已配置的所有存储桶事件:
4) 验证已配置的事件
对你配置了新事件的存储桶执行某个操作,并检查 NSQ 服务中的通知数据。 所需操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
更新 MinIO 部署中的 NSQ 端点
以下过程会更新 MinIO 部署中现有的 NSQ 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 列出部署中已配置的 NSQ 端点
使用 mc admin config get 命令列出部署中当前已配置的 NSQ 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_nsq 键是 NSQ 通知设置 的顶层配置键。 nsqd_address 键为给定的 notify_nsq 键指定 NSQ 服务端点。 notify_nsq:<IDENTIFIER> 后缀描述该 NSQ 服务端点的唯一标识符。
记下你要更新的 NSQ 服务端点标识符,以便在下一步使用。
2) 更新 NSQ 端点
使用 mc admin config set 命令为 NSQ 服务端点设置新配置:
notify_nsq nsqd_address 配置设置是 NSQ 服务端点的 最低 必需项。 所有其他配置设置均为 可选。 有关 NSQ 配置设置的完整列表,请参见 NSQ 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启部署的 alias。
minio server 进程在启动时会为每个已配置的 NSQ 目标打印一行内容,类似如下:
4) 验证更改
对使用更新后 NSQ 服务端点进行事件配置的存储桶执行某个操作, 并检查 NSQ 服务中的通知数据。 所需操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
6 - 将事件发布到 Elasticsearch
MinIO 支持将 bucket notification 事件发布到 Elasticsearch 服务端点。
MinIO 依赖 https://github.com/elastic/go-elasticsearch v7 项目连接 Elastic。
为 MinIO 部署添加 Elasticsearch 端点
以下步骤为 MinIO 部署添加一个新的 Elasticsearch 服务端点,以支持 bucket notifications。
前提条件
Elasticsearch v7.0 及更高版本
MinIO 依赖 https://github.com/olivere/elastic v7 项目连接 Elastic。elastic/v7 库专门面向 Elasticsearch v7.0,与更早版本的 Elasticsearch 不兼容。
MinIO mc 命令行工具
本步骤中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 将 Elasticsearch 端点添加到 MinIO
你可以使用环境变量,或 通过设置运行时配置项来配置新的 Elasticsearch 服务端点。
MinIO 支持使用 environment variables 指定 Elasticsearch 服务端点及其相关配置。minio server 进程会在下次 启动时应用这些设置。
以下示例代码设置了配置 Elasticsearch 服务端点所需的 全部 环境变量。 最少 必须 设置的变量包括:
MINIO_NOTIFY_ELASTICSEARCH_ENABLEMINIO_NOTIFY_ELASTICSEARCH_URLMINIO_NOTIFY_ELASTICSEARCH_INDEXMINIO_NOTIFY_ELASTICSEARCH_FORMAT
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为目标服务端点的唯一描述性字符串。 与新目标服务端点相关的所有环境变量都应使用相同的<IDENTIFIER>值。 以下示例假定该标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的 Elasticsearch 服务端点匹配,则新设置会 覆盖 该端点的现有设置。使用mc admin config get notify_elasticsearch查看 MinIO 部署中当前已配置的 Elasticsearch 端点。 -
将
<ENDPOINT>替换为 Elasticsearch 服务端点的 URL。 例如:
有关各环境变量的完整说明,请参见 Elasticsearch Service for 存储桶通知。
MinIO 支持在运行中的 minio server 进程上,使用 mc admin config set 命令和 notify_elasticsearch 配置键来添加或更新 Elasticsearch 端点。你必须重启 minio server 进程,才能应用新增或更新后的配置项。
以下示例代码设置了配置 Elasticsearch 服务端点相关的 全部 配置项。 最少 必须 设置的配置项包括:
-
将
IDENTIFIER替换为 Elasticsearch 服务端点的唯一描述性字符串。 本步骤中的后续示例假定该标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的 Elasticsearch 服务 端点匹配,则新设置会 覆盖 该端点的现有设置。使用mc admin config get notify_elasticsearch查看 MinIO 部署中当前已配置的 Elasticsearch 端点。 -
将
ENDPOINT替换为 Elasticsearch 服务端点的 URL。 例如:https://user:password@hostname:port
有关各配置项的完整说明,请参见 Elasticsearch Bucket Notification Configuration Settings。
1) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置变更。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为需要重启的部署 alias。
minio server 进程会在启动时为每个已配置的 Elasticsearch 目标输出一行, 类似如下:
在将关联的 Elasticsearch 部署配置为存储桶通知目标时,你必须指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:elasticsearch。
使用 jq 从 JSON 中解析该值
3) 将 Elasticsearch 端点配置为存储桶通知目标
使用 mc event add 命令新增存储桶通知事件,并将已配置的 Elasticsearch 服务作为目标:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
BUCKET替换为要配置该事件的存储桶名称。 - 将
EVENTS替换为一个以逗号分隔的 events 列表,MinIO 会针对这些事件触发通知。
使用 mc event ls 查看给定通知目标已配置的所有存储桶事件:
4) 验证已配置的事件
对已配置新事件的存储桶执行某项操作,然后检查 Elasticsearch 服务中的通知数据。 所需执行的操作取决于配置存储桶通知时指定了哪些 events。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
更新 MinIO 部署中的 Elasticsearch 端点
以下步骤更新 MinIO 部署中现有的 Elasticsearch 服务端点,以支持 bucket notifications。
前提条件
Elasticsearch v7.0 及更高版本
MinIO 依赖 https://github.com/olivere/elastic v7 项目连接 Elastic。elastic/v7 库专门面向 Elasticsearch v7.0,与更早版本的 Elasticsearch 不兼容。
MinIO mc 命令行工具
本步骤中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 列出部署中已配置的 Elasticsearch 端点
使用 mc admin config get 命令列出部署中当前已配置的 Elasticsearch 服务端点:
将 ALIAS 替换为 MinIO 部署的 alias。
命令输出类似如下:
notify_elasticsearch 键是 Elasticsearch 通知设置 的顶层配置键。 url 键指定给定 notify_elasticsearch 键对应的 Elasticsearch 服务端点。 notify_elasticsearch:<IDENTIFIER> 后缀表示该 Elasticsearch 服务端点的 唯一标识符。
记下你要更新的 Elasticsearch 服务端点标识符,以便下一步使用。
2) 更新 Elasticsearch 端点
使用 mc admin config set 命令为 Elasticsearch 服务端点设置新配置:
notify_elasticsearch url 配置项是 Elasticsearch 服务端点 最少 必须设置的项。其他所有配置项均为 可选。 完整的 Elasticsearch 配置项列表,请参见 Elasticsearch 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置变更。 使用 mc admin service restart 命令重启部署。
将 ALIAS 替换为需要重启的部署 alias。
minio server 进程会在启动时为每个已配置的 Elasticsearch 目标输出一行, 类似如下:
4) 验证变更
对某个已使用更新后 Elasticsearch 服务端点配置事件的存储桶执行操作,然后检查 Elasticsearch 服务中的通知数据。所需执行的操作取决于配置存储桶通知时指定了哪些 events。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建新对象并触发通知。
7 - 将事件发布到 Kafka
MinIO 支持将 bucket notification 事件发布到 Kafka 服务端点。
MinIO 依赖 https://github.com/Shopify/sarama 项目实现 Kafka 连接能力, 并共享该项目对 Kafka 的支持。更多信息请参见 sarama 的 Compatibility and API stability 章节。
向 MinIO 部署添加 Kafka 端点
以下过程会在 MinIO 部署中添加一个新的 Kafka 服务端点, 用于支持 bucket notifications。
前提条件
Kafka 最低版本与支持版本
MinIO 依赖 https://github.com/Shopify/sarama 项目实现 Kafka 连接能力, 并共享该项目对 Kafka 的支持。更多信息请参见 sarama 的 Compatibility and API stability 章节。
MinIO mc 命令行工具
该过程的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 向 MinIO 添加 Kafka 端点
你可以使用环境变量,或 通过设置运行时配置项,来配置新的 Kafka 服务端点。
MinIO 支持使用 environment variables 指定 Kafka 服务端点及其相关配置项。 minio server 进程会在下次启动时应用这些配置。
以下示例代码设置了配置 Kafka 服务端点相关的 全部 环境变量。 最低 必需 的变量是 MINIO_NOTIFY_KAFKA_ENABLE 和 MINIO_NOTIFY_KAFKA_BROKERS:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 Kafka 服务端点的唯一描述性字符串。 与新目标服务端点相关的所有环境变量都应使用相同的<IDENTIFIER>值。 以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中已有的 Kafka 服务端点匹配, 新配置会 覆盖 该端点的现有配置。 使用mc admin config get notify_kafka查看 MinIO 部署当前已配置的 Kafka 端点。 -
将
<ENDPOINT>替换为逗号分隔的 Kafka broker 列表。 例如:"kafka1.example.com:2021,kafka2.example.com:2021"
有关每个环境变量的完整说明,请参见 用于存储桶通知的 Kafka 服务。
MinIO 支持在运行中的 minio server 进程上, 使用 mc admin config set 命令和 notify_kafka 配置键来新增或更新 Kafka 端点。 你必须重启 minio server 进程,才能应用新增或更新后的配置项。
以下示例代码设置了配置 Kafka 服务端点相关的 全部 配置项。 最低 必需 的配置项是 notify_kafka brokers:
-
将
IDENTIFIER替换为该 Kafka 服务端点的唯一描述性字符串。 本过程中的以下示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中已有的 Kafka 服务端点匹配, 新配置会 覆盖 该端点的现有配置。 使用mc admin config get notify_kafka查看 MinIO 部署当前已配置的 Kafka 端点。 -
将
ENDPOINT替换为逗号分隔的 Kafka broker 列表。 例如:"kafka1.example.com:2021,kafka2.example.com:2021"
有关每个配置项的完整说明,请参见 Kafka 存储桶通知配置项。
1) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用这些配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 alias。
minio server 进程在启动时会为每个已配置的 Kafka 目标打印一行输出, 类似如下:
在将关联的 Kafka 部署配置为目标时, 你必须在配置存储桶通知时指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:kafka。
使用 jq 从 JSON 中解析该值
3) 使用 Kafka 端点作为目标配置存储桶通知
使用 mc event add 命令新增存储桶通知事件, 并将已配置的 Kafka 服务作为目标:
- 将
ALIAS替换为 MinIO 部署的 alias。 - 将
BUCKET替换为要配置该事件的存储桶名称。 - 将
EVENTS替换为逗号分隔的 events 列表,MinIO 会在这些事件发生时触发通知。
使用 mc event ls 查看给定通知目标上配置的所有存储桶事件:
4) 验证已配置的事件
对配置了新事件的存储桶执行某项操作, 然后在 Kafka 服务中检查通知数据。 所需操作取决于配置存储桶通知时指定了哪些 events。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建一个新对象,以触发通知。
更新 MinIO 部署中的 Kafka 端点
以下过程会更新 MinIO 部署中现有的 Kafka 服务端点, 用于支持 bucket notifications。
前提条件
Kafka 最低版本与支持版本
MinIO 依赖 https://github.com/Shopify/sarama 项目实现 Kafka 连接能力, 并共享该项目对 Kafka 的支持。更多信息请参见 sarama 的 Compatibility and API stability 章节。
MinIO mc 命令行工具
该过程的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc Quickstart。
1) 列出部署中已配置的 Kafka 端点
使用 mc admin config get 命令列出部署中当前已配置的 Kafka 服务端点:
将 ALIAS 替换为 MinIO 部署的 alias。
命令输出类似如下:
notify_kafka 键是 Kafka 通知设置 的顶层配置键。 brokers 键指定给定 notify_kafka 键所对应的 Kafka 服务端点。 notify_kafka:<IDENTIFIER> 后缀描述了该 Kafka 服务端点的唯一标识符。
记下你要在下一步中更新的 Kafka 服务端点标识符。
2) 更新 Kafka 端点
使用 mc admin config set 命令为 Kafka 服务端点设置新配置:
notify_kafka brokers 配置项 是 Kafka 服务端点的 最低 必需项。 所有其他配置项均为可选。 有关 Kafka 配置项的完整列表,请参见 Kafka 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用这些配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 alias。
minio server 进程在启动时会为每个已配置的 Kafka 目标打印一行输出, 类似如下:
4) 验证更改
对某个使用已更新 Kafka 服务端点配置了事件的存储桶执行某项操作, 然后在 Kafka 服务中检查通知数据。 所需操作取决于配置存储桶通知时指定了哪些 events。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建一个新对象,以触发通知。
8 - 将事件发布到 MySQL
MinIO 支持将 存储桶通知 事件发布到 MySQL 服务端点。MinIO 仅 支持 MySQL 5.7.8 及更高版本。
向 MinIO 部署添加 MySQL 端点
以下过程会向 MinIO 部署添加一个新的 MySQL 服务端点,以支持 存储桶通知。
先决条件
MySQL 5.7.8 及更高版本
MinIO 依赖于 MySQL 5.7.8 中引入的功能。
MinIO mc 命令行工具
此过程会在某些操作中使用 mc 命令行工具。 安装说明请参阅 mc 快速入门。
1) 将 MySQL 端点添加到 MinIO
你可以使用环境变量 或 设置运行时配置设置来配置新的 MySQL 服务端点。
MinIO 支持使用 环境变量 指定 MySQL 服务端点及其相关 配置设置。minio server 进程会在下次启动时应用指定的设置。
以下示例代码设置了与配置 MySQL 服务端点相关的 所有 环境变量。最少的 必需 变量为:
MINIO_NOTIFY_MYSQL_ENABLEMINIO_NOTIFY_MYSQL_DSN_STRINGMINIO_NOTIFY_MYSQL_TABLEMINIO_NOTIFY_MYSQL_FORMAT
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 MySQL 服务端点的唯一描述性字符串。对于与新目标服务端点相关的所有环境变量,请使用相同的<IDENTIFIER>值。 以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的 MySQL 服务 端点匹配,则新设置会 覆盖 该端点的任何现有设置。使用mc admin config get notify_mysql查看 MinIO 部署上当前配置的 MySQL 端点。 -
将
<ENDPOINT>替换为 MySQL 服务端点的 DSN。 MinIO 期望采用以下格式:<user>:<password>@tcp(<host>:<port>)/<database>例如:
"username:password@tcp(mysql.example.com:3306)/miniodb"
有关每个环境变量的完整文档,请参阅 用于存储桶通知的 MySQL 服务。
MinIO 支持在运行中的 minio server 进程上使用 mc admin config set 命令 和 notify_mysql 配置键添加或更新 MySQL 端点。你必须重启 minio server 进程,才能应用任何新增或更新的配置设置。
以下示例代码设置了与配置 MySQL 服务端点相关的 所有 设置。最少的 必需 设置为:
-
将
IDENTIFIER替换为该 MySQL 服务端点的唯一描述性字符串。 本过程中的以下示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的 MySQL 服务 端点匹配,则新设置会 覆盖 该端点的任何现有设置。使用mc admin config get notify_mysql查看 MinIO 部署上当前配置的 MySQL 端点。 -
将
<ENDPOINT>替换为 MySQL 服务端点的 DSN。 MinIO 期望采用以下格式:<user>:<password>@tcp(<host>:<port>)/<database>例如:
"username:password@tcp(mysql.example.com:3306)/miniodb"
有关每项设置的完整文档,请参阅 MySQL 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 MySQL 目标输出一行,类似如下:
当将关联的 MySQL 部署配置为目标时,你必须在配置存储桶通知时指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:mysql。
使用 jq 从 JSON 中解析该值
3) 使用 MySQL 端点作为目标配置存储桶通知
使用 mc event add 命令添加新的存储桶通知事件,并将已配置的 MySQL 服务作为目标:
使用 mc event ls 查看给定通知目标上已配置的所有存储桶事件:
4) 验证已配置的事件
对已配置新事件的存储桶执行某个操作,并检查 MySQL 服务中的通知数据。 所需的操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
更新 MinIO 部署中的 MySQL 端点
以下过程会更新 MinIO 部署中现有的 MySQL 服务端点,以支持 存储桶通知。
先决条件
MySQL 5.7.8 及更高版本
MinIO 依赖于 MySQL 5.7.8 中引入的功能。
MinIO mc 命令行工具
此过程会在某些操作中使用 mc 命令行工具。 安装说明请参阅 mc 快速入门。
1) 列出部署中已配置的 MySQL 端点
使用 mc admin config get 命令列出部署中当前已配置的 MySQL 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_mysql 键是 MySQL 通知设置 的顶级配置键。 dsn_string 键指定给定 notify_mysql 键对应的 MySQL 服务端点。notify_mysql:<IDENTIFIER> 后缀描述该 MySQL 服务端点的唯一标识符。
记下你要在下一步更新的 MySQL 服务端点标识符。
2) 更新 MySQL 端点
使用 mc admin config set 命令为 MySQL 服务端点设置新的配置:
以下配置设置是 MySQL 服务端点的 最小必需 项:
所有其他配置设置均为 可选。有关 MySQL 配置设置的完整列表,请参阅 MySQL 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 MySQL 目标输出一行,类似如下:
4) 验证更改
对一个事件配置使用了更新后 MySQL 服务端点的存储桶执行某个操作,并检查 MySQL 服务中的通知数据。所需的操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
9 - 将事件发布到 PostgreSQL
MinIO 支持将 存储桶通知 事件发布到 PostgreSQL。MinIO 仅支持 PostgreSQL 9.5 及以上版本。
向 MinIO 部署添加 PostgreSQL 端点
以下过程将为 MinIO 部署新增一个 PostgreSQL 服务端点,以支持 存储桶通知。
前提条件
PostgreSQL 9.5 及以上版本
MinIO 依赖 PostgreSQL 9.5 引入的特性。
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明参见 mc 快速入门。
1) 向 MinIO 添加 PostgreSQL 端点
你可以使用环境变量 或 运行时配置设置来配置新的 PostgreSQL 服务端点。
MinIO 支持使用 环境变量 指定 PostgreSQL 服务端点及其相关 配置设置。minio server 进程会在下次启动时应用这些设置。
下面的示例代码设置了与配置 PostgreSQL 服务端点相关的 全部 环境变量。 最低 必需 的变量如下:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为 PostgreSQL 服务端点的唯一描述性字符串。 对于与新目标服务端点相关的所有环境变量,请使用相同的<IDENTIFIER>值。 以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署上现有的 PostgreSQL 服务 端点匹配,则新设置会 覆盖 该端点的现有设置。使用mc admin config get notify_postgres查看 MinIO 部署当前配置的 PostgreSQL 端点。 -
将
<ENDPOINT>替换为 PostgreSQL 服务端点的 PostgreSQL 连接字符串。MinIO 支持连接字符串使用key=value格式。 例如:"host=https://postgresql.example.com port=5432 ..."有关受支持的 PostgreSQL 连接字符串参数的完整文档,请参见 PostgreSQL 连接字符串。
各环境变量的完整文档请参见 用于存储桶通知的 PostgreSQL 服务。
MinIO 支持在正在运行的 minio server 进程上,使用 mc admin config set 命令和 notify_postgres 配置键 来新增或更新 PostgreSQL 端点。你必须重启 minio server 进程, 才能应用任何新增或更新的配置设置。
下面的示例代码设置了与配置 PostgreSQL 服务端点相关的 全部 设置。 最低 必需 的设置如下:
-
将
IDENTIFIER替换为 PostgreSQL 服务端点的唯一描述性字符串。 本过程后续示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署上现有的 PostgreSQL 服务端点 匹配,则新设置会 覆盖 该端点的现有设置。使用mc admin config get notify_postgres查看 MinIO 部署当前配置的 PostgreSQL 端点。 -
将
<ENDPOINT>替换为 PostgreSQL 服务端点的 PostgreSQL URI 连接字符串。 MinIO 支持 PostgreSQL 连接字符串使用key=value格式。例如:"host=https://postgresql.example.com port=5432 ..."有关受支持的 PostgreSQL 连接字符串参数的完整文档,请参见 PostgreSQL 连接字符串。
各设置的完整文档请参见 PostgreSQL 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 PostgreSQL 目标输出一行内容, 类似如下:
当将关联的 PostgreSQL 部署作为目标配置存储桶通知时,你必须指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:postgresql。
使用 jq 从 JSON 中解析该值
3) 将 PostgreSQL 端点作为目标配置存储桶通知
使用 mc event add 命令新增一个以已配置 PostgreSQL 服务为目标的 存储桶通知事件:
使用 mc event ls 查看给定通知目标当前配置的所有存储桶事件:
4) 验证已配置的事件
对你为其配置了新事件的存储桶执行一个操作,并检查 PostgreSQL 服务中的通知数据。 所需执行的操作取决于配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中新建对象并触发通知。
在 MinIO 部署中更新 PostgreSQL 端点
以下过程将更新 MinIO 部署中现有的 PostgreSQL 服务端点,以支持 存储桶通知。
前提条件
PostgreSQL 9.5 及以上版本
MinIO 依赖 PostgreSQL 9.5 引入的特性。
MinIO mc 命令行工具
此过程中的某些操作需要使用 mc 命令行工具。 安装说明参见 mc 快速入门。
1) 列出部署中已配置的 PostgreSQL 端点
使用 mc admin config get 命令列出部署中当前已配置的 PostgreSQL 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_postgres 键是 PostgreSQL 通知设置 的顶层配置键。 connection_string 键为给定的 notify_postgres 键指定 PostgreSQL 服务端点。 notify_postgres:<IDENTIFIER> 后缀描述该 PostgreSQL 服务端点的唯一标识符。
记下你要更新的 PostgreSQL 服务端点标识符,以便下一步使用。
2) 更新 PostgreSQL 端点
使用 mc admin config set 命令设置 PostgreSQL 服务端点的新配置:
以下配置设置是 PostgreSQL 服务端点的 最低 必需项:
其他所有配置设置均为 可选。 完整的 PostgreSQL 配置设置列表请参见 PostgreSQL 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 PostgreSQL 目标输出一行内容, 类似如下:
4) 验证变更
对某个使用已更新 PostgreSQL 服务端点进行事件配置的存储桶执行操作,并检查 PostgreSQL 服务中的通知数据。所需执行的操作取决于配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件,则可以使用 mc cp 命令在存储桶中新建对象并触发通知。
10 - 将事件发布到 Redis
MinIO 支持将 存储桶通知 事件发布到 Redis 服务端点。
向 MinIO 部署添加 Redis 端点
以下过程会在 MinIO 部署中添加一个新的 Redis 服务端点,用于支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程在部分操作中使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 将 Redis 端点添加到 MinIO
你可以使用环境变量 或 运行时配置设置来配置新的 Redis 服务端点。
MinIO 支持使用 环境变量 指定 Redis 服务端点及其相关 配置设置。minio server 进程会在下一次启动时应用这些设置。
以下示例代码设置了与配置 Redis 服务端点相关的 全部 环境变量。 最少的 必需 变量包括:
MINIO_NOTIFY_REDIS_ENABLEMINIO_NOTIFY_REDIS_ADDRESSMINIO_NOTIFY_REDIS_KEYMINIO_NOTIFY_REDIS_FORMAT
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为目标服务端点的唯一描述性字符串。 对于与新目标服务端点相关的所有环境变量,请使用相同的<IDENTIFIER>值。 以下示例假定标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署上现有的 Redis 服务端点匹配, 新设置会 覆盖 该端点的所有现有设置。使用mc admin config get notify_redis查看当前在 MinIO 部署上已配置的 Redis 端点。 -
将
<ENDPOINT>替换为 Redis 服务端点的 URL。 例如:https://redis.example.com:6369
有关每个环境变量的完整文档,请参见 存储桶通知的 Redis 服务。
MinIO 支持在正在运行的 minio server 进程上,使用 mc admin config set 命令和 notify_redis 配置键 添加或更新 Redis 端点。你必须重启 minio server 进程,才能应用任何新的 或更新后的配置设置。
以下示例代码设置了与配置 Redis 服务端点相关的 全部 设置。 最少的 必需 设置包括:
-
将
IDENTIFIER替换为 Redis 服务端点的唯一描述性字符串。 本过程中的以下示例假定标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署上现有的 Redis 服务端点匹配, 新设置会 覆盖 该端点的所有现有设置。使用mc admin config get notify_redis查看当前在 MinIO 部署上已配置的 Redis 端点。 -
将
ENDPOINT替换为 Redis 服务端点的 URL。 例如:https://redis.example.com:6369
有关每个设置的完整文档,请参见 Redis 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 Redis 目标打印一行类似如下的内容:
将关联的 Redis 部署配置为目标来配置存储桶通知时,必须指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:redis。
使用 jq 从 JSON 中解析该值
3) 将 Redis 端点配置为存储桶通知目标
使用 mc event add 命令新增一个存储桶通知事件,并将已配置的 Redis 服务 作为目标:
使用 mc event ls 查看给定通知目标的所有已配置存储桶事件:
4) 验证已配置的事件
对已为其配置新事件的存储桶执行某个操作,并检查 Redis 服务中的通知数据。 所需的操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
在 MinIO 部署中更新 Redis 端点
以下过程会更新 MinIO 部署中现有的 Redis 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
此过程在部分操作中使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 列出部署中已配置的 Redis 端点
使用 mc admin config get 命令列出部署中当前已配置的 Redis 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
命令输出类似如下:
notify_redis 键是 Redis 通知设置 的顶层配置键。 address 键为给定的 notify_redis 键指定 Redis 服务端点。notify_redis:<IDENTIFIER> 后缀表示该 Redis 服务端点的唯一标识符。
记下你要更新的 Redis 服务端点标识符,以便在下一步中使用。
2) 更新 Redis 端点
使用 mc admin config set 命令为 Redis 服务端点设置新配置:
notify_redis address 配置设置是 Redis 服务端点 最少 必需的配置项。所有其他配置设置均为 可选。有关 Redis 配置设置的完整列表,请参见 Redis 通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署才能应用配置更改。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署的 别名。
minio server 进程在启动时会为每个已配置的 Redis 目标打印一行类似如下的内容:
4) 验证更改
对某个已使用更新后的 Redis 服务端点进行事件配置的存储桶执行操作,并检查 Redis 服务中的通知数据。所需的操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 则可以使用 mc cp 命令在存储桶中创建一个新对象并触发通知。
11 - 将事件发布到 Webhook
MinIO 支持将 存储桶通知 事件发布到 Webhook 服务端点。
向 MinIO 部署添加 Webhook 端点
以下过程会为 MinIO 部署新增一个 Webhook 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
本过程中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 向 MinIO 添加 Webhook 端点
你可以使用环境变量,或通过设置运行时配置项来配置新的 Webhook 服务端点。
MinIO 支持使用 环境变量 指定 Webhook 服务端点及其相关配置。minio server 进程会在下一次启动时 应用这些设置。
以下示例代码设置了配置 Webhook 服务端点所需的 全部 环境变量。 最低 必需 变量为 MINIO_NOTIFY_WEBHOOK_ENABLE 和 MINIO_NOTIFY_WEBHOOK_ENDPOINT:
Windows
Linux 与 macOS
-
将
<IDENTIFIER>替换为该 Webhook 服务端点的唯一描述性字符串。 对于与新目标服务端点相关的所有环境变量,请使用相同的<IDENTIFIER>值。以下示例假设该标识符为PRIMARY。如果指定的
<IDENTIFIER>与 MinIO 部署中现有的 Webhook 服务端点匹配,新设置会 覆盖 该端点的任何现有设置。可使用mc admin config get notify_webhook查看 MinIO 部署当前配置的 Webhook 端点。 -
将
<ENDPOINT>替换为 Webhook 服务端点的 URL。例如:https://webhook.example.com
有关每个环境变量的完整文档,请参见 用于存储桶通知的 Webhook 服务。
MinIO 支持在运行中的 minio server 进程上,使用 mc admin config set 命令和 notify_webhook 配置键来添加或更新 Webhook 端点。 你必须重启 minio server 进程,才能应用任何新增或更新的 配置设置。
以下示例代码设置了配置 Webhook 服务端点所需的 全部 设置。 最低 必需 设置为 notify_webhook endpoint:
-
将
IDENTIFIER替换为该 Webhook 服务端点的唯一描述性字符串。 本过程后续示例假设该标识符为PRIMARY。如果指定的
IDENTIFIER与 MinIO 部署中现有的 Webhook 服务端点匹配,新设置会 覆盖 该端点的任何现有设置。可使用mc admin config get notify_webhook查看 MinIO 部署当前配置的 Webhook 端点。 -
将
ENDPOINT替换为 Webhook 服务端点的 URL。例如:https://webhook.example.com
有关每个设置的完整文档,请参见 Webhook 存储桶通知配置设置。
1) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置变更。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署 别名。
minio server 进程在启动时会为每个已配置的 Webhook 目标打印一行, 类似如下:
在将关联的 Webhook 部署配置为目标时,你必须在配置存储桶通知时指定该 ARN 资源。
识别存储桶通知的 ARN
此前创建端点时,你已定义 <IDENTIFIER>,用于分配给存储桶通知目标 ARN。 以下步骤会返回该部署上已配置的 ARN。 请通过查找你指定的 <IDENTIFIER> 来识别此前创建的 ARN。
查看 JSON 输出
-
复制并运行以下命令,将
ALIAS替换为该部署的 别名。 -
在 JSON 输出中,查找
info.sqsARN键。你需要的 ARN 就是该键中与所指定
<IDENTIFIER>匹配的那个值。例如,
arn:minio:sqs::primary:webhook。
使用 jq 从 JSON 中解析该值
3) 使用 Webhook 端点作为目标来配置存储桶通知
使用 mc event add 命令添加新的存储桶通知事件,并将已配置的 Webhook 服务作为目标:
使用 mc event ls 可查看给定通知目标的所有已配置存储桶事件:
4) 验证已配置的事件
对配置了新事件的存储桶执行相应操作,并检查 Webhook 服务中的通知数据。 所需操作取决于在配置存储桶通知时指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 你可以使用 mc cp 命令在存储桶中创建新对象,从而触发通知。
更新 MinIO 部署中的 Webhook 端点
以下过程会更新 MinIO 部署中现有的 Webhook 服务端点,以支持 存储桶通知。
前提条件
MinIO mc 命令行工具
本过程中的部分操作需要使用 mc 命令行工具。 安装说明请参见 mc 快速入门。
1) 列出部署中已配置的 Webhook 端点
使用 mc admin config get 命令列出部署中当前已配置的 Webhook 服务端点:
将 ALIAS 替换为 MinIO 部署的 别名。
该命令输出类似如下:
notify_webhook 键是 Webhook 服务通知设置 的顶层配置键。 endpoint 键为给定的 notify_webhook 键指定 Webhook 服务端点。notify_webhook:<IDENTIFIER> 后缀描述该 Webhook 服务端点的唯一标识符。
记下你想在下一步更新的 Webhook 服务端点标识符。
2) 更新 Webhook 端点
使用 mc admin config set 命令为 Webhook 服务端点设置新配置:
notify_webhook endpoint 配置设置 是 Webhook 服务端点的 最低 必需项。其他所有配置设置均为 可选。 有关 Webhook 配置设置的完整列表,请参见 Webhook 服务通知设置。
3) 重启 MinIO 部署
你必须重启 MinIO 部署以应用配置变更。 使用 mc admin service restart 命令重启该部署。
将 ALIAS 替换为要重启的部署 别名。
minio server 进程在启动时会为每个已配置的 Webhook 目标打印一行, 类似如下:
4) 验证变更
对某个使用已更新 Webhook 服务端点进行事件配置的存储桶执行相应操作, 并检查 Webhook 服务中的通知数据。所需操作取决于在配置存储桶通知时 指定了哪些 事件。
例如,如果存储桶通知配置包含 s3:ObjectCreated:Put 事件, 你可以使用 mc cp 命令在存储桶中创建新对象,从而触发通知。