chenzhaoyang
2025-12-17 d3e5a4b7658ece4f845bbc0c4f95acf3fbdf8a61
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
redis_title: &redis_title
  - type: text
    name: title
    label: Storage Name
    required: true
 
# 2x2 grid
redis_params: &redis_params
  - type: text
    name: db
    label: Database Number (db)
    placeholder: 1
  - type: text
    name: path
    label: Path
  - type: password
    name: password
    label: Password
    autoComplete: "new-password"
  - type: text
    name: host
    label: Host
    placeholder: localhost
  - type: text
    name: port
    label: Port
 
ImportStorage:
  # Title
  - columnCount: 1
    fields: *redis_title
  # Path, Password, Host and Port
  - columnCount: 2
    fields: *redis_params
  # Regex filter
  - columnCount: 1
    fields:
      - type: text
        name: regex_filter
        label: File Filter Regex
        placeholder: '.*csv or .*(jpe?g|png|tiff) or .\w+-\d+.text'
        validators:
          - regexp
 
  # Import method selection
  - columnCount: 1
    fields:
      - type: select
        name: use_blob_urls
        label: Import method
        description: Choose how to import your data from storage
        placeholder: "Select an option"
        required: true
        options:
          - value: true
            label: "Files - Automatically creates a task for each storage object (e.g. JPG, MP3, TXT)"
          - value: false
            label: "Tasks - Treat each JSON or JSONL file as a task definition (one or more tasks per file)"
 
ExportStorage:
  - columnCount: 2
    fields: *redis_params