Home Assistant MinIO 集成 minio.get 动作完全指南:将对象存储文件下载到本地文件系统

发布时间:2026/9/16 22:53:02

Home Assistant MinIO 集成 minio.get 动作完全指南:将对象存储文件下载到本地文件系统 Home Assistant MinIO 集成 minio.get 动作完全指南将对象存储文件下载到本地文件系统【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读minio.get是 Home Assistant MinIO 集成提供的下载动作Action用于将 MinIO 对象存储S3 兼容中的对象下载并保存到本地文件系统。本指南以 source/_actions/minio.get.markdown 为主干完整讲解该动作的前置条件、UI 与 YAML 两种使用方式、三个必填参数并结合 MinIO 集成文档 与minio.put、minio.remove配套动作给出可复制运行的自动化示例。读完后你将掌握如何在自动化与脚本中把相机快照、备份文件等对象从 MinIO 拉取到本地并正确处理路径白名单与事件触发。minio.get 动作是什么Get动作从 MinIO 桶bucket中下载一个对象object并将其保存为本地文件系统上的一个文件Bucket要从中下载的桶名称。Key对象在桶中的键key即对象的存储路径标识。File path保存到本地文件系统的目标路径。它在自动化中的典型应用场景是当系统中其他部分需要 MinIO 中已存储的文件时——例如取回此前由minio.put上传的相机快照、恢复备份文件、拉取其他设备生成的报告——无需人工操作直接由自动化完成下载。该动作不支持 targets目标选择。在 UI 中创建该动作时不会提示你选择区域area、设备device、实体entity或标签label因为它操作的是桶与键而非实体。前置条件allowlist_external_dirs 路径白名单使用minio.get之前必须满足一个关键前置条件目标File path所在的目录必须被添加到 Home Assistant 的allowlist_external_dirs配置项中。该配置位于configuration.yaml的homeassistant:小节用于限制集成访问外部目录的范围。只有白名单内的路径MinIO 集成才允许写入下载文件。示例homeassistant: allowlist_external_dirs: - /data/camera_files - /tmp如果不配置白名单minio.get动作将无法把文件保存到本地路径。同理minio.put动作读取本地文件同样受此白名单约束。从 UI 使用该动作如果你偏好可视化配置在自动化或脚本中按以下步骤添加进入设置Settings自动化与场景Automations scenes。打开一个已有自动化或脚本若新建选择创建自动化Create automation创建新自动化Create new automation。若是新建自动化在When何时部分添加触发条件脚本无需触发器它们由其他内容调用时执行。在Then do然后做部分选择添加动作Add action。在搜索框中搜索并选择Minio: Get。填写Bucket、对象Key以及要保存到的File path。点击保存Save。UI 中三个字段全部必填含义如下字段说明必填Bucket要从中下载的桶名称是Key对象在桶中的键是File path本地文件系统上保存文件的目标路径是在 YAML 中使用该动作在 YAML 中该动作被引用为minio.get。一个基础示例action: minio.get data: bucket: camera-files key: front_camera/snapshot.jpg file_path: /data/camera_files/snapshot.jpg该示例把camera-files桶中键为front_camera/snapshot.jpg的对象下载到本地/data/camera_files/snapshot.jpg。YAML 参数参考参数说明必填类型bucket要从中下载的桶名称是stringkey对象在桶中的键是stringfile_path保存文件的本地文件系统路径是string从源码文档的 YAML 定义minio.get看三个参数均为必填字符串没有可选参数与默认值。在自动化中使用在自动化中动作需要放在actions:列表下automation: - alias: Download new MinIO object triggers: - trigger: event event_type: minio actions: - action: minio.get data: bucket: {{ trigger.event.data.bucket }} key: {{ trigger.event.data.key }} file_path: /tmp/{{ trigger.event.data.key | basename }}实战示例当对象被添加到桶时自动下载结合 MinIO 集成文档 中listen的事件监听机制你可以实现对象一入桶即自动下载的完整链路触发条件Trigger一个 MinIO 桶创建对象的事件s3:ObjectCreated:*动作ActionMinio: Get完整自动化 YAMLautomation: - alias: Download new MinIO object triggers: - trigger: event event_type: minio actions: - action: minio.get data: bucket: {{ trigger.event.data.bucket }} key: {{ trigger.event.data.key }} file_path: /tmp/{{ trigger.event.data.key | basename }}这里通过{{ trigger.event.data.bucket }}、{{ trigger.event.data.key }}等模板从事件负载中动态取桶名与键再用| basename过滤器提取键的最后一段作为本地文件名从而避免写死路径、适配任意新对象。要让该自动化真正被触发需在 MinIO 集成配置中开启事件监听。集成文档 MinIO 集成配置 给出了完整配置项minio: host: localhost port: 9000 access_key: ACCESS_KEY secret_key: SECRET_KEY secure: false其中listen配置项用于声明要监听的事件支持以下子键子键说明必填类型默认值bucket要监听的桶是string—prefix过滤文件事件的前缀否stringsuffix过滤文件事件的后缀否string.*events要监听的文件事件类型否strings3:ObjectCreated:*监听配置示例只监听camera-files桶下以.jpg结尾、front_camera/前缀开头的新增对象minio: host: localhost port: 9000 access_key: ACCESS_KEY secret_key: SECRET_KEY secure: false listen: - bucket: camera-files prefix: front_camera/ suffix: .jpg events: s3:ObjectCreated:*与 minio.put、minio.remove 组成完整文件生命周期minio.get并非孤立动作它与 MinIO 集成提供的另外两个动作协同可覆盖上传—下载—清理的完整文件生命周期minio.put将本地文件上传到 MinIO 桶参数为bucket、key、file_path本地源文件路径。典型场景是相机检测到移动时抓拍快照并上传归档。minio.remove从桶中删除指定bucket、key的对象典型场景是每日定时清理一周前的旧快照保持存储整洁。集成文档 MinIO 集成配置 中给出了一个上传 清理组合的完整自动化automation: - alias: Upload camera snapshot triggers: - trigger: event event_type: folder_watcher event_data: event_type: created actions: - delay: 00:00:01 - action: minio.put data: file_path: {{ trigger.event.data.path }} bucket: camera-image-object-detection key: input/{{ now().year }}/{{ (now().month | string).zfill(2) }}/{{ (now().day | string).zfill(2) }}/{{ trigger.event.data.file }} - delay: 00:00:01 - action: shell_command.remove_file data: file: {{ trigger.event.data.path }}配合minio.get即可实现本地文件生成 → 上传 MinIO → 他处按需下载 → 过期删除的完整数据流转。快速调试在开发者工具中试运行不想写 YAML 也可以先验证动作效果进入设置Settings工具Tools动作Actions搜索minio.get按提示填入bucket、key、file_path三个字段点击执行动作Perform action即可在真实环境中看到文件是否被成功下载无需创建任何自动化或脚本。注意事项与常见问题路径白名单是硬约束file_path所在目录必须出现在allowlist_external_dirs中否则动作失败。配置后需重启 Home Assistant 使其生效。该动作不支持 targets不会出现区域、设备、实体或标签选择所有操作通过bucketkey定位对象。事件负载字段监听minio事件时trigger.event.data中可用的字段包括bucket、key、file_name等见集成文档示例模板引用时需与实际事件结构一致。secure参数MinIO 集成连接使用 HTTPS 还是 HTTP 由secure布尔值控制默认false即 HTTP自建 MinIO 服务常用localhost:9000secure: false。以上内容均以当前仓库文档为准动作定义见 source/_actions/minio.get.markdown配套动作见 minio.put 与 minio.remove集成整体配置见 source/_integrations/minio.markdown。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/16 22:53:02

编程智能体重构软件开发流程:从需求到合并的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 22:53:02

Docker多阶段构建实战:从1GB镜像到几十MB的优化指南

说实话,我第一次在团队看到同事上传的镜像时,差点没绷住。一个内部小工具,代码量不到两千行,打出来的镜像 1.2GB。问了下 Dockerfile 内容,果然还是老套路:FROM ubuntu,装一堆编译依赖&#xff…

2026/9/16 23:43:10

AI情感交互中的情感隔离风险与防护机制

1. 项目背景与核心概念解析"情感隔离突破术"这个标题涉及两个关键概念:情感隔离的心理学现象,以及AI交互中的情感投射机制。作为从业十余年的心理咨询师兼人机交互研究者,我发现近年来随着AI对话系统的普及,出现了一种值…

2026/9/16 23:43:10

企业级自动化办公系统与数据平台架构实践

1. 项目背景与核心价值"软件定制开发-自动化办公系统-数据平台"这个项目标题看似简单,实际上涵盖了现代企业数字化转型中的三个关键需求。作为一名从业十余年的全栈开发者,我经手过不少类似项目,但每个都有其独特的业务场景和技术挑…

2026/9/16 23:43:10

Python语音活动检测库colibri:原理、实战与踩坑指南

先把话说清楚:这篇要聊的 colibri,是 Python 生态里的实时语音活动检测(Voice Activity Detection,VAD)开源库,不是什么浏览器插件,也不是某块开发板。colibri 这个词来自西班牙语和法语&#x…

2026/9/16 23:43:10

CANoe从入门到精通:安装配置、报文解析与自动化测试实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/16 23:38:10

摄影师高效沟通与客户管理实战指南

1. 项目背景:摄影行业的私信困境凌晨三点,修图软件的光标还在闪烁。电脑前那个挂着黑眼圈的摄影师,机械地回复着第47条客户私信:"亲,原片已经发您邮箱了,精修图下周出..."这可能是大多数独立摄影…

2026/9/16 12:52:37

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/16 0:04:09

PHP源码部署实战:从环境配置到运行情侣游戏全攻略

简介:这是一套面向情侣互动场景的PHP完整源码,集成情侣飞行棋、真心话大冒险、情趣骰子等玩法,并内置完整分销制度,可自定义多种返佣比例,源码完全开源无加密,支持微信无感自动授权登录与第三方授权&#x…

2026/9/16 22:55:57

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/16 22:56:09

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/16 22:56:16

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码