mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 07:17:14 +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