mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-05-02 17:18:58 +00:00
160 lines
4.3 KiB
Markdown
160 lines
4.3 KiB
Markdown
---
|
|
title: Minio
|
|
description: Integration for interacting with Minio object storage.
|
|
ha_category:
|
|
- Utility
|
|
ha_iot_class: Cloud Push
|
|
ha_release: 0.98
|
|
ha_codeowners:
|
|
- '@tkislan'
|
|
ha_domain: minio
|
|
ha_integration_type: integration
|
|
---
|
|
|
|
This integration adds interaction with [Minio](https://min.io).
|
|
It also enables listening for bucket notifications: [see documentation](https://docs.min.io/docs/minio-client-complete-guide.html#watch)
|
|
|
|
To download or upload files, folders must be added to [allowlist_external_dirs](/docs/configuration/basic/).
|
|
|
|
## Configuration
|
|
|
|
To enable the Minio integration in your installation, add the following to your `configuration.yaml` file:
|
|
|
|
```yaml
|
|
minio:
|
|
host: localhost
|
|
port: 9000
|
|
access_key: ACCESS_KEY
|
|
secret_key: SECRET_KEY
|
|
secure: false
|
|
```
|
|
|
|
{% configuration %}
|
|
host:
|
|
description: Minio server host
|
|
required: true
|
|
type: string
|
|
port:
|
|
description: Minio server port
|
|
required: true
|
|
type: integer
|
|
access_key:
|
|
description: Minio server access key
|
|
required: true
|
|
type: string
|
|
secret_key:
|
|
description: Minio server secret key
|
|
required: true
|
|
type: string
|
|
secure:
|
|
description: Whether to use HTTP or HTTPS connection
|
|
required: true
|
|
type: boolean
|
|
default: false
|
|
listen:
|
|
description: List of configurations to listen for events to
|
|
required: false
|
|
default: []
|
|
type: list
|
|
keys:
|
|
bucket:
|
|
description: Bucket to use
|
|
required: true
|
|
type: string
|
|
prefix:
|
|
description: What prefix to use to filter file events
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
suffix:
|
|
description: What file suffix to use to filter file events
|
|
required: false
|
|
type: string
|
|
default: ".*"
|
|
events:
|
|
description: What file
|
|
required: false
|
|
type: string
|
|
default: "s3:ObjectCreated:*"
|
|
{% endconfiguration %}
|
|
|
|
## Automations
|
|
|
|
Automations can be triggered on new files created on the Minio server using the `data_template`.
|
|
|
|
{% raw %}
|
|
|
|
```yaml
|
|
#Automatically upload new local files
|
|
automation:
|
|
- alias: "Upload camera snapshot"
|
|
trigger:
|
|
platform: event
|
|
event_type: folder_watcher
|
|
event_data:
|
|
event_type: created
|
|
action:
|
|
- delay: "00:00:01"
|
|
- service: 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"
|
|
- service: shell_command.remove_file
|
|
data:
|
|
file: "{{ trigger.event.data.path }}"
|
|
|
|
- alias: "Download new Minio file"
|
|
trigger:
|
|
- platform: event
|
|
event_type: minio
|
|
|
|
condition: []
|
|
action:
|
|
- service: minio.get
|
|
data:
|
|
bucket: "{{trigger.event.data.bucket}}"
|
|
key: "{{trigger.event.data.key}}"
|
|
file_path: "/tmp/{{ trigger.event.data.file_name }}"
|
|
```
|
|
|
|
{% endraw %}
|
|
|
|
## Platform Services
|
|
|
|
These services are provided:
|
|
|
|
- `get`
|
|
- `put`
|
|
- `remove`
|
|
|
|
### Service `minio.get`
|
|
|
|
Download file.
|
|
|
|
| Service data attribute | Required | Description |
|
|
|---------------------------|----------|---------------------------------------------------|
|
|
| `bucket` | yes | Bucket to use |
|
|
| `key` | yes | Object key of the file |
|
|
| `file_path` | yes | File path on the local file system |
|
|
|
|
### Service `minio.put`
|
|
|
|
Upload file.
|
|
|
|
| Service data attribute | Required | Description |
|
|
|---------------------------|----------|---------------------------------------------------|
|
|
| `bucket` | yes | Bucket to use |
|
|
| `key` | yes | Object key of the file |
|
|
| `file_path` | yes | File path on the local file system |
|
|
|
|
### Service `minio.remove`
|
|
|
|
Delete file.
|
|
|
|
| Service data attribute | Required | Description |
|
|
|---------------------------|----------|---------------------------------------------------|
|
|
| `bucket` | yes | Bucket to use |
|
|
| `key` | yes | Object key of the file |
|