/minio_ex

Minio client library

Primary LanguageElixirMIT LicenseMIT

Minio

This package implements the Minio API.

Implemented API fucntions

The following api functions are implemented.

Presigned Operations

  • presign_put_object

  • presign_get_object

    The package is being developed as necessary for my personal use. If you require any api endpoint to be added, please add an issue and send a PR if you have the time.

Usage

To use the api a client struct must be created. This can be done the following way.

client = %Minio{
endpoint: "https://play.min.io",
access_key: "Q3AM3UQ867SPQQA43P2F",
secret_key: "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG",
region: "us-east-1"
}

The region has to be specified. It is not automatically retreived. The default region is set to "us-east-1"

Once the client sturct is created, the following api functions can be used.

Pesigned Put Object

Generate a presigned url to put an object to an minio instance.

{:ok, put_url} = Minio.presign_put_object(client, bucket_name: "test", object_name: "test3.png")

Presigned Get Object

Generate a presigned url to get an object from an minio instance.

{:ok, get_url} = Minio.presign_get_object(client, bucket_name: "test", object_name: "test3.png")

Installation

If available in Hex, the package can be installed by adding minio to your list of dependencies in mix.exs:

def deps do
  [
    {:minio, "~> 0.1.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. The docs can be found at https://hexdocs.pm/minio.