OpenStack Swift Object Storage file input plugin for Embulk

Embulk file input plugin stores to OpenStack Object Storage(Swift) This plugin also may be usable for Swift compatible cloud storages, such as Rackspace, and more.

This plugin uses Java OpenStack Storage(JOSS) library.

Overview

  • Plugin type: file input
  • Resume supported: yes
  • Cleanup supported: yes

Configuration

  • username: username for accessing the object storage (string, required)
  • password: password for accessing the object storage (string, required)
  • auth_url: authentication url for accessing the object storage (string, required)
  • auth_type: Authentication type. you can choose "tempauth", "keystone", or "basic". (string, required)
  • tenant_id: Tenant Id for keystone authentication (string, optional)
  • tenant_name: Tenant name for keystone authentication (string, optional)
  • container: Container name (string, required)
  • path_prefix: prefix of target objects (string, required)
  • path_match_pattern: regexp to match file paths. If a file path doesn't match with this pattern, the file will be skipped (regexp string, optional)
  • total_file_count_limit: maximum number of files to read (integer, optional)
  • min_task_size (experimental): minimum bytesize of a task. If this is larger than 0, one task includes multiple input files up until it becomes the bytesize in total. This is useful if too many number of tasks impacts performance of output or executor plugins badly. (integer, optional)

Example

in:
  type: swift
  auth_type: tempauth
  username: test:tester
  password: testing
  auth_url: http://localhost:8080/auth/v1.0
  container: embulk_input
  path_prefix: data
  parser:
    type: csv

Build

$ ./gradlew gem  # -t to watch change of files and rebuild continuously