mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-20 15:56:51 +00:00
Add minio documentation (#9267)
* Add minio documentation * Update minio.markdown * Update minio.markdown * Review changes * ✏️ Tweak * Update minio.markdown * ✏️ Tweak * ✏️ Tweak
This commit is contained in:
parent
50f1f44151
commit
ae1a821b64
153
source/_components/minio.markdown
Normal file
153
source/_components/minio.markdown
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
---
|
||||||
|
title: "Minio"
|
||||||
|
description: "Integration for interacting with Minio object storage."
|
||||||
|
logo: minio.png
|
||||||
|
ha_category: Utility
|
||||||
|
ha_iot_class: Cloud Push
|
||||||
|
ha_release: 0.98
|
||||||
|
---
|
||||||
|
|
||||||
|
This integration adds interaction with [Minio](https://min.io).
|
||||||
|
Also enables to listen for bucket notifications: [watch docs](https://docs.min.io/docs/minio-client-complete-guide.html#watch)
|
||||||
|
|
||||||
|
To download or upload files, folders must be added to [whitelist_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_template:
|
||||||
|
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_template:
|
||||||
|
file: "{{ trigger.event.data.path }}"
|
||||||
|
|
||||||
|
- alias: Download new Minio file
|
||||||
|
trigger:
|
||||||
|
- platform: event
|
||||||
|
event_type: minio
|
||||||
|
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: minio.get
|
||||||
|
data_template:
|
||||||
|
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 |
|
BIN
source/images/supported_brands/minio.png
Normal file
BIN
source/images/supported_brands/minio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
Loading…
x
Reference in New Issue
Block a user