mirror of
https://github.com/minio/docs.git
synced 2025-07-28 19:42:10 +03:00
Adding content and instructions for SDKs
This commit is contained in:
192
Makefile
192
Makefile
@ -38,6 +38,7 @@ linux:
|
|||||||
@cp source/default-conf.py source/conf.py
|
@cp source/default-conf.py source/conf.py
|
||||||
@make sync-minio-version
|
@make sync-minio-version
|
||||||
@make sync-kes-version
|
@make sync-kes-version
|
||||||
|
@make sync-sdks
|
||||||
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|
||||||
@ -45,6 +46,7 @@ windows:
|
|||||||
@cp source/default-conf.py source/conf.py
|
@cp source/default-conf.py source/conf.py
|
||||||
@make sync-minio-version
|
@make sync-minio-version
|
||||||
@make sync-kes-version
|
@make sync-kes-version
|
||||||
|
@make sync-sdks
|
||||||
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|
||||||
@ -52,6 +54,7 @@ macos:
|
|||||||
@cp source/default-conf.py source/conf.py
|
@cp source/default-conf.py source/conf.py
|
||||||
@make sync-minio-version
|
@make sync-minio-version
|
||||||
@make sync-kes-version
|
@make sync-kes-version
|
||||||
|
@make sync-sdks
|
||||||
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|
||||||
@ -60,6 +63,7 @@ k8s:
|
|||||||
@make sync-operator-version
|
@make sync-operator-version
|
||||||
@make sync-minio-version
|
@make sync-minio-version
|
||||||
@make sync-kes-version
|
@make sync-kes-version
|
||||||
|
@make sync-sdks
|
||||||
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)/$(GITDIR)/$@" $(SPHINXOPTS) $(O) -t $@
|
||||||
@npm run build
|
@npm run build
|
||||||
|
|
||||||
@ -72,6 +76,8 @@ sync-operator-version:
|
|||||||
|
|
||||||
@echo "Updating Operator to ${OPERATOR}"
|
@echo "Updating Operator to ${OPERATOR}"
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
@case "${kname}" in \
|
@case "${kname}" in \
|
||||||
"Darwin") \
|
"Darwin") \
|
||||||
sed -i "" "s|OPERATOR|${OPERATOR}|g" source/conf.py;\
|
sed -i "" "s|OPERATOR|${OPERATOR}|g" source/conf.py;\
|
||||||
@ -125,42 +131,180 @@ sync-minio-version:
|
|||||||
# #git add source/conf.py && git commit -m "Updating MinIO server to ${MINIO}"; \
|
# #git add source/conf.py && git commit -m "Updating MinIO server to ${MINIO}"; \
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
sync-java-docs:
|
|
||||||
@echo "Retrieving Java docs from github.com/minio/minio-java"
|
|
||||||
@$(eval LATEST = $(shell wget -q https://api.github.com/repos/minio/minio-java/releases/latest -O - | jq -r '.tag_name'))
|
|
||||||
@echo "Latest stable is ${LATEST}"
|
|
||||||
$(shell wget -q -O source/developers/java/API.md https://raw.githubusercontent.com/minio/minio-java/${LATEST}/docs/API.md)
|
|
||||||
$(shell wget -q -O source/developers/java/quickstart.md https://raw.githubusercontent.com/minio/minio-java/${LATEST}/README.md)
|
|
||||||
|
|
||||||
sync-python-docs:
|
sync-cpp-docs:
|
||||||
@echo "Retrieving Python docs from github.com/minio/minio-py"
|
# C++ repo does not have any releases yet.
|
||||||
@$(eval LATEST = $(shell wget -q https://api.github.com/repos/minio/minio-py/releases/latest -O - | jq -r '.tag_name'))
|
@echo "Retrieving C++ docs from github.com/minio/minio-js"
|
||||||
@echo "Latest stable is ${LATEST}"
|
@$(eval CPPLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-cpp/releases/latest -O - | jq -r '.tag_name'))
|
||||||
$(shell wget -q -O source/developers/python/API.md https://raw.githubusercontent.com/minio/minio-py/${LATEST}/docs/API.md)
|
@echo "Latest stable is ${CPPLATEST}"
|
||||||
$(shell wget -q -O source/developers/python/quickstart.md https://raw.githubusercontent.com/minio/minio-py/${LATEST}/README.md)
|
$(shell wget -q -O source/developers/cpp/API.md https://raw.githubusercontent.com/minio/minio-cpp/${CPPLATEST}/docs/API.md)
|
||||||
|
$(shell wget -q -O source/developers/cpp/quickstart.md https://raw.githubusercontent.com/minio/minio-cpp/${CPPLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|CPPVERSION|${CPPLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|CPPVERSION|${CPPLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-dotnet-docs:
|
||||||
|
@echo "Retrieving .NET docs from github.com/minio/minio-dotnet"
|
||||||
|
@$(eval DOTNETLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-dotnet/releases/latest -O - | jq -r '.tag_name'))
|
||||||
|
@echo "Latest stable is ${DOTNETLATEST}"
|
||||||
|
$(shell wget -q -O source/developers/dotnet/API.md https://raw.githubusercontent.com/minio/minio-dotnet/${DOTNETLATEST}/Docs/API.md)
|
||||||
|
# $(shell wget -q -O source/developers/dotnet/quickstart.md https://raw.githubusercontent.com/minio/minio-dotnet/${DOTNETLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|DOTNETVERSION|${DOTNETLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|DOTNETVERSION|${DOTNETLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
sync-go-docs:
|
sync-go-docs:
|
||||||
@echo "Retrieving Go docs from github.com/minio/minio-go"
|
@echo "Retrieving Go docs from github.com/minio/minio-go"
|
||||||
@$(eval LATEST = $(shell wget -q https://api.github.com/repos/minio/minio-go/releases/latest -O - | jq -r '.tag_name'))
|
@$(eval GOLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-go/releases/latest -O - | jq -r '.tag_name'))
|
||||||
@echo "Latest stable is ${LATEST}"
|
@echo "Latest stable is ${GOLATEST}"
|
||||||
$(shell wget -q -O source/developers/go/API.md https://raw.githubusercontent.com/minio/minio-go/${LATEST}/docs/API.md)
|
$(shell wget -q -O source/developers/go/API.md https://raw.githubusercontent.com/minio/minio-go/${GOLATEST}/docs/API.md)
|
||||||
$(shell wget -q -O source/developers/go/quickstart.md https://raw.githubusercontent.com/minio/minio-go/${LATEST}/README.md)
|
$(shell wget -q -O source/developers/go/quickstart.md https://raw.githubusercontent.com/minio/minio-go/${GOLATEST}/README.md)
|
||||||
|
|
||||||
sync-dotnet-docs:
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|GOVERSION|${GOLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|GOVERSION|${GOLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-haskell-docs:
|
||||||
|
@echo "Retrieving Haskell docs from github.com/minio/minio-hs"
|
||||||
|
@$(eval HASKELLLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-hs/releases/latest -O - | jq -r '.tag_name'))
|
||||||
|
@echo "Latest stable is ${HASKELLLATEST}"
|
||||||
|
$(shell wget -q -O source/developers/haskell/API.md https://raw.githubusercontent.com/minio/minio-hs/${HASKELLLATEST}/docs/API.md)
|
||||||
|
$(shell wget -q -O source/developers/haskell/quickstart.md https://raw.githubusercontent.com/minio/minio-hs/${HASKELLLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|HASKELLVERSION|${HASKELLLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|HASKELLVERSION|${HASKELLLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-java-docs:
|
||||||
|
@echo "Retrieving Java docs from github.com/minio/minio-java"
|
||||||
|
@$(eval JAVALATEST = $(shell wget -q https://api.github.com/repos/minio/minio-java/releases/latest -O - | jq -r '.tag_name'))
|
||||||
|
@echo "Latest stable is ${JAVALATEST}"
|
||||||
|
$(shell wget -q -O source/developers/java/API.md https://raw.githubusercontent.com/minio/minio-java/${JAVALATEST}/docs/API.md)
|
||||||
|
$(shell wget -q -O source/developers/java/quickstart.md https://raw.githubusercontent.com/minio/minio-java/${JAVALATEST}/README.md)
|
||||||
|
@$(eval JAVAJARURL = https://repo1.maven.org/maven2/io/minio/minio/${JAVALATEST}/)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|JAVAVERSION|${JAVALATEST}|g" source/conf.py;\
|
||||||
|
sed -i "" "s|JAVAURL|${JAVAJARURL}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|JAVAVERSION|${JAVALATEST}|g" source/conf.py; \
|
||||||
|
sed -i "s|JAVAURL|${JAVAJARURL}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-javascript-docs:
|
||||||
|
@echo "Retrieving JavaScript docs from github.com/minio/minio-js"
|
||||||
|
@$(eval JAVASCRIPTLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-js/releases/latest -O - | jq -r '.tag_name'))
|
||||||
|
@echo "Latest stable is ${JAVASCRIPTLATEST}"
|
||||||
|
$(shell wget -q -O source/developers/haskell/API.md https://raw.githubusercontent.com/minio/minio-js/${JAVASCRIPTLATEST}/docs/API.md)
|
||||||
|
$(shell wget -q -O source/developers/haskell/quickstart.md https://raw.githubusercontent.com/minio/minio-js/${JAVASCRIPTLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|JAVASCRIPTVERSION|${JAVASCRIPTLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|JAVASCRIPTVERSION|${JAVASCRIPTLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-python-docs:
|
||||||
@echo "Retrieving Python docs from github.com/minio/minio-py"
|
@echo "Retrieving Python docs from github.com/minio/minio-py"
|
||||||
@$(eval LATEST = $(shell wget -q https://api.github.com/repos/minio/minio-dotnet/releases/latest -O - | jq -r '.tag_name'))
|
@$(eval PYTHONLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-py/releases/latest -O - | jq -r '.tag_name'))
|
||||||
@echo "Latest stable is ${LATEST}"
|
@echo "Latest stable is ${PYTHONLATEST}"
|
||||||
$(shell wget -q -O source/developers/dotnet/API.md https://raw.githubusercontent.com/minio/minio-dotnet/${LATEST}/Docs/API.md)
|
$(shell wget -q -O source/developers/python/API.md https://raw.githubusercontent.com/minio/minio-py/${PYTHONLATEST}/docs/API.md)
|
||||||
$(shell wget -q -O source/developers/dotnet/quickstart.md https://raw.githubusercontent.com/minio/minio-dotnet/${LATEST}/README.md)
|
$(shell wget -q -O source/developers/python/quickstart.md https://raw.githubusercontent.com/minio/minio-py/${PYTHONLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|PYTHONVERSION|${PYTHONLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|PYTHONVERSION|${PYTHONLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-rust-docs:
|
||||||
|
# Rust repo does not have any releases yet.
|
||||||
|
@echo "Retrieving Rust docs from github.com/minio/minio-js"
|
||||||
|
@$(eval RUSTLATEST = $(shell wget -q https://api.github.com/repos/minio/minio-rs/releases/latest -O - | jq -r '.tag_name'))
|
||||||
|
@echo "Latest stable is ${RUSTLATEST}"
|
||||||
|
# $(shell wget -q -O source/developers/rust/API.md https://raw.githubusercontent.com/minio/minio-rs/${RUSTLATEST}/docs/API.md)
|
||||||
|
$(shell wget -q -O source/developers/rust/quickstart.md https://raw.githubusercontent.com/minio/minio-rs/${RUSTLATEST}/README.md)
|
||||||
|
|
||||||
|
@$(eval kname = $(shell uname -s))
|
||||||
|
|
||||||
|
@case "${kname}" in \
|
||||||
|
"Darwin") \
|
||||||
|
sed -i "" "s|RUSTVERSION|${RUSTLATEST}|g" source/conf.py;\
|
||||||
|
;; \
|
||||||
|
*) \
|
||||||
|
sed -i "s|RUSTVERSION|${RUSTLATEST}|g" source/conf.py; \
|
||||||
|
;; \
|
||||||
|
esac
|
||||||
|
|
||||||
|
sync-sdks:
|
||||||
|
# C++ and Rust repos do not have any releases yet.
|
||||||
|
# @make sync-cpp-docs
|
||||||
|
@make sync-dotnet-docs
|
||||||
|
@make sync-go-docs
|
||||||
|
@make sync-haskell-docs
|
||||||
|
@make sync-java-docs
|
||||||
|
@make sync-javascript-docs
|
||||||
|
@make sync-python-docs
|
||||||
|
# @make sync-rust-docs
|
||||||
|
|
||||||
sync-deps:
|
sync-deps:
|
||||||
|
# C++ and Rust repos do not have any releases yet.
|
||||||
@echo "Synchronizing all external dependencies"
|
@echo "Synchronizing all external dependencies"
|
||||||
@make sync-minio-version
|
@make sync-minio-version
|
||||||
@make sync-kes-version
|
@make sync-kes-version
|
||||||
@make sync-java-docs
|
# @make sync-cpp-docs
|
||||||
@make sync-python-docs
|
|
||||||
@make sync-go-docs
|
|
||||||
@make sync-dotnet-docs
|
@make sync-dotnet-docs
|
||||||
|
@make sync-go-docs
|
||||||
|
@make sync-haskell-docs
|
||||||
|
@make sync-java-docs
|
||||||
|
@make sync-javascript-docs
|
||||||
|
@make sync-python-docs
|
||||||
|
# @make sync-rust-docs
|
||||||
|
|
||||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||||
|
@ -264,5 +264,15 @@ rst_prolog = """
|
|||||||
.. |MNMD| replace:: :abbr:`MNMD (Multi-Node Multi-Drive)`
|
.. |MNMD| replace:: :abbr:`MNMD (Multi-Node Multi-Drive)`
|
||||||
.. |operator-version-stable| replace:: OPERATOR
|
.. |operator-version-stable| replace:: OPERATOR
|
||||||
|
|
||||||
|
.. |cpp-sdk-version| replace:: CPPVERSION
|
||||||
|
.. |dotnet-sdk-version| replace:: DOTNETVERSION
|
||||||
|
.. |go-sdk-version| replace:: GOVERSION
|
||||||
|
.. |haskell-sdk-version| replace:: HASKELLVERSION
|
||||||
|
.. |java-jar-url| replace:: JAVAURL
|
||||||
|
.. |java-sdk-version| replace:: JAVAVERSION
|
||||||
|
.. |javascript-sdk-version| replace:: JAVASCRIPTVERSION
|
||||||
|
.. |python-sdk-version| replace:: PYTHONVERSION
|
||||||
|
.. |rust-sdk-version| replace:: RUSTVERSION
|
||||||
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
@ -176,9 +176,9 @@ dotnet test ./Minio.Tests/Minio.Tests.csproj
|
|||||||
* [SetPolicy.cs](https://github.com/minio/minio-dotnet/blob/master/Minio.Examples/Cases/SetBucketPolicy.cs)
|
* [SetPolicy.cs](https://github.com/minio/minio-dotnet/blob/master/Minio.Examples/Cases/SetBucketPolicy.cs)
|
||||||
|
|
||||||
#### Bucket notification Operations
|
#### Bucket notification Operations
|
||||||
* [GetBucketNotification.cs](./Minio.Examples/Cases/GetBucketNotification.cs)
|
* [GetBucketNotification.cs](/Minio.Examples/Cases/GetBucketNotification.cs)
|
||||||
* [SetBucketNotification.cs](./Minio.Examples/Cases/SetBucketNotification.cs)
|
* [SetBucketNotification.cs](/Minio.Examples/Cases/SetBucketNotification.cs)
|
||||||
* [RemoveAllBucketNotifications.cs](./Minio.Examples/Cases/RemoveAllBucketNotifications.cs)
|
* [RemoveAllBucketNotifications.cs](/Minio.Examples/Cases/RemoveAllBucketNotifications.cs)
|
||||||
|
|
||||||
#### File Object Operations
|
#### File Object Operations
|
||||||
* [FGetObject.cs](https://github.com/minio/minio-dotnet/blob/master/Minio.Examples/Cases/FGetObject.cs)
|
* [FGetObject.cs](https://github.com/minio/minio-dotnet/blob/master/Minio.Examples/Cases/FGetObject.cs)
|
||||||
|
2141
source/developers/haskell/API.md
Normal file
2141
source/developers/haskell/API.md
Normal file
File diff suppressed because it is too large
Load Diff
18
source/developers/haskell/minio-haskell.rst
Normal file
18
source/developers/haskell/minio-haskell.rst
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
.. _minio-haskell-quickstart:
|
||||||
|
|
||||||
|
========================
|
||||||
|
Haskell Quickstart Guide
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. contents:: Table of Contents
|
||||||
|
:local:
|
||||||
|
:depth: 2
|
||||||
|
|
||||||
|
.. include:: /developers/haskell/quickstart.md
|
||||||
|
:parser: myst_parser.sphinx_
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:hidden:
|
||||||
|
|
||||||
|
/developers/haskell/API.md
|
248
source/developers/haskell/quickstart.md
Normal file
248
source/developers/haskell/quickstart.md
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
# MinIO JavaScript Library for Amazon S3 Compatible Cloud Storage [](https://slack.min.io)
|
||||||
|
|
||||||
|
[](https://nodei.co/npm/minio/)
|
||||||
|
|
||||||
|
The MinIO JavaScript Client SDK provides simple APIs to access any Amazon S3 compatible object storage server.
|
||||||
|
|
||||||
|
This quickstart guide will show you how to install the client SDK and execute an example JavaScript program. For a complete list of APIs and examples, please take a look at the [JavaScript Client API Reference](https://docs.min.io/docs/javascript-client-api-reference) documentation.
|
||||||
|
|
||||||
|
This document assumes that you have a working [nodejs](http://nodejs.org/) setup in place.
|
||||||
|
|
||||||
|
|
||||||
|
## Download from NPM
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save minio
|
||||||
|
```
|
||||||
|
|
||||||
|
## Download from Source
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/minio/minio-js
|
||||||
|
cd minio-js
|
||||||
|
npm install
|
||||||
|
npm install -g
|
||||||
|
```
|
||||||
|
|
||||||
|
## Using with TypeScript
|
||||||
|
|
||||||
|
```sh
|
||||||
|
npm install --save-dev @types/minio
|
||||||
|
```
|
||||||
|
|
||||||
|
## Initialize MinIO Client
|
||||||
|
|
||||||
|
You need five items in order to connect to MinIO object storage server.
|
||||||
|
|
||||||
|
|
||||||
|
| Params | Description |
|
||||||
|
| :------- | :------------ |
|
||||||
|
| endPoint | URL to object storage service. |
|
||||||
|
|port| TCP/IP port number. This input is optional. Default value set to ``80`` for HTTP and ``443`` for HTTPs.|
|
||||||
|
| accessKey | Access key is like user ID that uniquely identifies your account. |
|
||||||
|
| secretKey | Secret key is the password to your account. |
|
||||||
|
|useSSL |Set this value to 'true' to enable secure (HTTPS) access |
|
||||||
|
|
||||||
|
|
||||||
|
```js
|
||||||
|
var Minio = require('minio')
|
||||||
|
|
||||||
|
var minioClient = new Minio.Client({
|
||||||
|
endPoint: 'play.min.io',
|
||||||
|
port: 9000,
|
||||||
|
useSSL: true,
|
||||||
|
accessKey: 'Q3AM3UQ867SPQQA43P2F',
|
||||||
|
secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG'
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Quick Start Example - File Uploader
|
||||||
|
|
||||||
|
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.
|
||||||
|
|
||||||
|
We will use the MinIO server running at [https://play.min.io](https://play.min.io) in this example. Feel free to use this service for testing and development. Access credentials shown in this example are open to the public.
|
||||||
|
|
||||||
|
#### file-uploader.js
|
||||||
|
|
||||||
|
```js
|
||||||
|
var Minio = require('minio')
|
||||||
|
|
||||||
|
// Instantiate the minio client with the endpoint
|
||||||
|
// and access keys as shown below.
|
||||||
|
var minioClient = new Minio.Client({
|
||||||
|
endPoint: 'play.min.io',
|
||||||
|
port: 9000,
|
||||||
|
useSSL: true,
|
||||||
|
accessKey: 'Q3AM3UQ867SPQQA43P2F',
|
||||||
|
secretKey: 'zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG'
|
||||||
|
});
|
||||||
|
|
||||||
|
// File that needs to be uploaded.
|
||||||
|
var file = '/tmp/photos-europe.tar'
|
||||||
|
|
||||||
|
// Make a bucket called europetrip.
|
||||||
|
minioClient.makeBucket('europetrip', 'us-east-1', function(err) {
|
||||||
|
if (err) return console.log(err)
|
||||||
|
|
||||||
|
console.log('Bucket created successfully in "us-east-1".')
|
||||||
|
|
||||||
|
var metaData = {
|
||||||
|
'Content-Type': 'application/octet-stream',
|
||||||
|
'X-Amz-Meta-Testing': 1234,
|
||||||
|
'example': 5678
|
||||||
|
}
|
||||||
|
// Using fPutObject API upload your file to the bucket europetrip.
|
||||||
|
minioClient.fPutObject('europetrip', 'photos-europe.tar', file, metaData, function(err, etag) {
|
||||||
|
if (err) return console.log(err)
|
||||||
|
console.log('File uploaded successfully.')
|
||||||
|
});
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Run file-uploader
|
||||||
|
|
||||||
|
```sh
|
||||||
|
node file-uploader.js
|
||||||
|
Bucket created successfully in "us-east-1".
|
||||||
|
|
||||||
|
mc ls play/europetrip/
|
||||||
|
[2016-05-25 23:49:50 PDT] 17MiB photos-europe.tar
|
||||||
|
```
|
||||||
|
|
||||||
|
## API Reference
|
||||||
|
|
||||||
|
The full API Reference is available here.
|
||||||
|
|
||||||
|
* [Complete API Reference](https://docs.min.io/docs/javascript-client-api-reference)
|
||||||
|
|
||||||
|
### API Reference : Bucket Operations
|
||||||
|
|
||||||
|
* [`makeBucket`](https://docs.min.io/docs/javascript-client-api-reference#makeBucket)
|
||||||
|
* [`listBuckets`](https://docs.min.io/docs/javascript-client-api-reference#listBuckets)
|
||||||
|
* [`bucketExists`](https://docs.min.io/docs/javascript-client-api-reference#bucketExists)
|
||||||
|
* [`removeBucket`](https://docs.min.io/docs/javascript-client-api-reference#removeBucket)
|
||||||
|
* [`listObjects`](https://docs.min.io/docs/javascript-client-api-reference#listObjects)
|
||||||
|
* [`listObjectsV2`](https://docs.min.io/docs/javascript-client-api-reference#listObjectsV2)
|
||||||
|
* [`listObjectsV2WithMetadata`](https://docs.min.io/docs/javascript-client-api-reference#listObjectsV2WithMetadata) (Extension)
|
||||||
|
* [`listIncompleteUploads`](https://docs.min.io/docs/javascript-client-api-reference#listIncompleteUploads)
|
||||||
|
* [`getBucketVersioning`](https://docs.min.io/docs/javascript-client-api-reference#getBucketVersioning)
|
||||||
|
* [`setBucketVersioning`](https://docs.min.io/docs/javascript-client-api-reference#setBucketVersioning)
|
||||||
|
* [`setBucketLifecycle`](https://docs.min.io/docs/javascript-client-api-reference#setBucketLifecycle)
|
||||||
|
* [`getBucketLifecycle`](https://docs.min.io/docs/javascript-client-api-reference#getBucketLifecycle)
|
||||||
|
* [`removeBucketLifecycle`](https://docs.min.io/docs/javascript-client-api-reference#removeBucketLifecycle)
|
||||||
|
* [`getObjectLockConfig`](https://docs.min.io/docs/javascript-client-api-reference#getObjectLockConfig)
|
||||||
|
* [`setObjectLockConfig`](https://docs.min.io/docs/javascript-client-api-reference#setObjectLockConfig)
|
||||||
|
|
||||||
|
### API Reference : File Object Operations
|
||||||
|
|
||||||
|
* [`fPutObject`](https://docs.min.io/docs/javascript-client-api-reference#fPutObject)
|
||||||
|
* [`fGetObject`](https://docs.min.io/docs/javascript-client-api-reference#fGetObject)
|
||||||
|
|
||||||
|
### API Reference : Object Operations
|
||||||
|
|
||||||
|
* [`getObject`](https://docs.min.io/docs/javascript-client-api-reference#getObject)
|
||||||
|
* [`putObject`](https://docs.min.io/docs/javascript-client-api-reference#putObject)
|
||||||
|
* [`copyObject`](https://docs.min.io/docs/javascript-client-api-reference#copyObject)
|
||||||
|
* [`statObject`](https://docs.min.io/docs/javascript-client-api-reference#statObject)
|
||||||
|
* [`removeObject`](https://docs.min.io/docs/javascript-client-api-reference#removeObject)
|
||||||
|
* [`removeObjects`](https://docs.min.io/docs/javascript-client-api-reference#removeObjects)
|
||||||
|
* [`removeIncompleteUpload`](https://docs.min.io/docs/javascript-client-api-reference#removeIncompleteUpload)
|
||||||
|
* [`selectObjectContent`](https://docs.min.io/docs/javascript-client-api-reference#selectObjectContent)
|
||||||
|
|
||||||
|
|
||||||
|
### API Reference : Presigned Operations
|
||||||
|
|
||||||
|
* [`presignedGetObject`](https://docs.min.io/docs/javascript-client-api-reference#presignedGetObject)
|
||||||
|
* [`presignedPutObject`](https://docs.min.io/docs/javascript-client-api-reference#presignedPutObject)
|
||||||
|
* [`presignedPostPolicy`](https://docs.min.io/docs/javascript-client-api-reference#presignedPostPolicy)
|
||||||
|
|
||||||
|
### API Reference : Bucket Notification Operations
|
||||||
|
|
||||||
|
* [`getBucketNotification`](https://docs.min.io/docs/javascript-client-api-reference#getBucketNotification)
|
||||||
|
* [`setBucketNotification`](https://docs.min.io/docs/javascript-client-api-reference#setBucketNotification)
|
||||||
|
* [`removeAllBucketNotification`](https://docs.min.io/docs/javascript-client-api-reference#removeAllBucketNotification)
|
||||||
|
* [`listenBucketNotification`](https://docs.min.io/docs/javascript-client-api-reference#listenBucketNotification) (MinIO Extension)
|
||||||
|
|
||||||
|
### API Reference : Bucket Policy Operations
|
||||||
|
|
||||||
|
* [`getBucketPolicy`](https://docs.min.io/docs/javascript-client-api-reference#getBucketPolicy)
|
||||||
|
* [`setBucketPolicy`](https://docs.min.io/docs/javascript-client-api-reference#setBucketPolicy)
|
||||||
|
|
||||||
|
|
||||||
|
## Full Examples
|
||||||
|
|
||||||
|
#### Full Examples : Bucket Operations
|
||||||
|
|
||||||
|
* [list-buckets.js](https://github.com/minio/minio-js/blob/master/examples/list-buckets.js)
|
||||||
|
* [list-objects.js](https://github.com/minio/minio-js/blob/master/examples/list-objects.js)
|
||||||
|
* [list-objects-v2.js](https://github.com/minio/minio-js/blob/master/examples/list-objects-v2.js)
|
||||||
|
* [list-objects-v2-with-metadata.js](https://github.com/minio/minio-js/blob/master/examples/list-objects-v2-with-metadata.js) (Extension)
|
||||||
|
* [bucket-exists.js](https://github.com/minio/minio-js/blob/master/examples/bucket-exists.js)
|
||||||
|
* [make-bucket.js](https://github.com/minio/minio-js/blob/master/examples/make-bucket.js)
|
||||||
|
* [remove-bucket.js](https://github.com/minio/minio-js/blob/master/examples/remove-bucket.js)
|
||||||
|
* [list-incomplete-uploads.js](https://github.com/minio/minio-js/blob/master/examples/list-incomplete-uploads.js)
|
||||||
|
* [get-bucket-versioning.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-versioning.js)
|
||||||
|
* [set-bucket-versioning.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-versioning.js)
|
||||||
|
* [set-bucket-tagging.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-tagging.js)
|
||||||
|
* [get-bucket-tagging.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-tagging.js)
|
||||||
|
* [remove-bucket-tagging.js](https://github.com/minio/minio-js/blob/master/examples/remove-bucket-tagging.js)
|
||||||
|
* [set-bucket-lifecycle.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-lifecycle.js)
|
||||||
|
* [get-bucket-lifecycle.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-lifecycle.js)
|
||||||
|
* [remove-bucket-lifecycle.js](https://github.com/minio/minio-js/blob/master/examples/remove-bucket-lifecycle.js)
|
||||||
|
* [get-object-lock-config.js](https://github.com/minio/minio-js/blob/master/examples/get-object-lock-config.js)
|
||||||
|
* [set-object-lock-config.js](https://github.com/minio/minio-js/blob/master/examples/set-object-lock-config.js)
|
||||||
|
* [set-bucket-replication.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-replication.js)
|
||||||
|
* [get-bucket-replication.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-replication.js)
|
||||||
|
* [remove-bucket-replication.js](https://github.com/minio/minio-js/blob/master/examples/remove-bucket-replication.js)
|
||||||
|
|
||||||
|
#### Full Examples : File Object Operations
|
||||||
|
* [fput-object.js](https://github.com/minio/minio-js/blob/master/examples/fput-object.js)
|
||||||
|
* [fget-object.js](https://github.com/minio/minio-js/blob/master/examples/fget-object.js)
|
||||||
|
|
||||||
|
#### Full Examples : Object Operations
|
||||||
|
* [put-object.js](https://github.com/minio/minio-js/blob/master/examples/put-object.js)
|
||||||
|
* [get-object.js](https://github.com/minio/minio-js/blob/master/examples/get-object.js)
|
||||||
|
* [copy-object.js](https://github.com/minio/minio-js/blob/master/examples/copy-object.js)
|
||||||
|
* [get-partialobject.js](https://github.com/minio/minio-js/blob/master/examples/get-partialobject.js)
|
||||||
|
* [remove-object.js](https://github.com/minio/minio-js/blob/master/examples/remove-object.js)
|
||||||
|
* [remove-incomplete-upload.js](https://github.com/minio/minio-js/blob/master/examples/remove-incomplete-upload.js)
|
||||||
|
* [stat-object.js](https://github.com/minio/minio-js/blob/master/examples/stat-object.js)
|
||||||
|
* [get-object-retention.js](https://github.com/minio/minio-js/blob/master/examples/get-object-retention.js)
|
||||||
|
* [put-object-retention.js](https://github.com/minio/minio-js/blob/master/examples/put-object-retention.js)
|
||||||
|
* [put-object-tagging.js](https://github.com/minio/minio-js/blob/master/examples/put-object-tagging.js)
|
||||||
|
* [get-object-tagging.js](https://github.com/minio/minio-js/blob/master/examples/get-object-tagging.js)
|
||||||
|
* [remove-object-tagging.js](https://github.com/minio/minio-js/blob/master/examples/remove-object-tagging.js)
|
||||||
|
* [set-object-legal-hold.js](https://github.com/minio/minio-js/blob/master/examples/set-object-legalhold.js)
|
||||||
|
* [get-object-legal-hold.js](https://github.com/minio/minio-js/blob/master/examples/get-object-legal-hold.js)
|
||||||
|
* [compose-object.js](https://github.com/minio/minio-js/blob/master/examples/compose-object.js)
|
||||||
|
* [select-object-content.js](https://github.com/minio/minio-js/blob/master/examples/select-object-content.js)
|
||||||
|
|
||||||
|
#### Full Examples : Presigned Operations
|
||||||
|
* [presigned-getobject.js](https://github.com/minio/minio-js/blob/master/examples/presigned-getobject.js)
|
||||||
|
* [presigned-putobject.js](https://github.com/minio/minio-js/blob/master/examples/presigned-putobject.js)
|
||||||
|
* [presigned-postpolicy.js](https://github.com/minio/minio-js/blob/master/examples/presigned-postpolicy.js)
|
||||||
|
|
||||||
|
#### Full Examples: Bucket Notification Operations
|
||||||
|
* [get-bucket-notification.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-notification.js)
|
||||||
|
* [set-bucket-notification.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-notification.js)
|
||||||
|
* [remove-all-bucket-notification.js](https://github.com/minio/minio-js/blob/master/examples/remove-all-bucket-notification.js)
|
||||||
|
* [listen-bucket-notification.js](https://github.com/minio/minio-js/blob/master/examples/minio/listen-bucket-notification.js) (MinIO Extension)
|
||||||
|
|
||||||
|
#### Full Examples: Bucket Policy Operations
|
||||||
|
* [get-bucket-policy.js](https://github.com/minio/minio-js/blob/master/examples/get-bucket-policy.js)
|
||||||
|
* [set-bucket-policy.js](https://github.com/minio/minio-js/blob/master/examples/set-bucket-policy.js)
|
||||||
|
|
||||||
|
## Custom Settings
|
||||||
|
* [setAccelerateEndPoint](https://github.com/minio/minio-js/blob/master/examples/set-accelerate-end-point.js)
|
||||||
|
|
||||||
|
## Explore Further
|
||||||
|
* [Complete Documentation](https://docs.min.io)
|
||||||
|
* [MinIO JavaScript Client SDK API Reference](https://docs.min.io/docs/javascript-client-api-reference)
|
||||||
|
* [Build your own Shopping App Example- Full Application Example ](https://github.com/minio/minio-js-store-app)
|
||||||
|
|
||||||
|
## Contribute
|
||||||
|
|
||||||
|
[Contributors Guide](https://github.com/minio/minio-js/blob/master/CONTRIBUTING.md)
|
||||||
|
|
||||||
|
[](https://travis-ci.org/minio/minio-js)
|
||||||
|
[](https://ci.appveyor.com/project/harshavardhana/minio-js)
|
@ -12,19 +12,19 @@ Java 1.8 or above.
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.minio</groupId>
|
<groupId>io.minio</groupId>
|
||||||
<artifactId>minio</artifactId>
|
<artifactId>minio</artifactId>
|
||||||
<version>8.4.0</version>
|
<version>8.4.2</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
## Gradle usage
|
## Gradle usage
|
||||||
```
|
```
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("io.minio:minio:8.4.0")
|
implementation("io.minio:minio:8.4.2")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## JAR download
|
## JAR download
|
||||||
The latest JAR can be downloaded from [here](https://repo1.maven.org/maven2/io/minio/minio/8.4.0/)
|
The latest JAR can be downloaded from [here](https://repo1.maven.org/maven2/io/minio/minio/8.4.2/)
|
||||||
|
|
||||||
## Quick Start Example - File Uploader
|
## Quick Start Example - File Uploader
|
||||||
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.
|
This example program connects to an object storage server, makes a bucket on the server and then uploads a file to the bucket.
|
||||||
@ -92,12 +92,12 @@ public class FileUploader {
|
|||||||
|
|
||||||
#### Compile FileUploader
|
#### Compile FileUploader
|
||||||
```sh
|
```sh
|
||||||
$ javac -cp minio-8.4.0-all.jar FileUploader.java
|
$ javac -cp minio-8.4.2-all.jar FileUploader.java
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Run FileUploader
|
#### Run FileUploader
|
||||||
```sh
|
```sh
|
||||||
$ java -cp minio-8.4.0-all.jar:. FileUploader
|
$ java -cp minio-8.4.2-all.jar:. FileUploader
|
||||||
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.
|
'/home/user/Photos/asiaphotos.zip' is successfully uploaded as object 'asiaphotos-2015.zip' to bucket 'asiatrip'.
|
||||||
|
|
||||||
$ mc ls play/asiatrip/
|
$ mc ls play/asiatrip/
|
||||||
|
1030
source/developers/javascript/API.md
Normal file
1030
source/developers/javascript/API.md
Normal file
File diff suppressed because it is too large
Load Diff
18
source/developers/javascript/minio-javascript.rst
Normal file
18
source/developers/javascript/minio-javascript.rst
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
.. _minio-javascript-quickstart:
|
||||||
|
|
||||||
|
===========================
|
||||||
|
JavaScript Quickstart Guide
|
||||||
|
===========================
|
||||||
|
|
||||||
|
.. contents:: Table of Contents
|
||||||
|
:local:
|
||||||
|
:depth: 2
|
||||||
|
|
||||||
|
.. include:: /developers/javascript/quickstart.md
|
||||||
|
:parser: myst_parser.sphinx_
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:hidden:
|
||||||
|
|
||||||
|
/developers/javascript/API.md
|
177
source/developers/javascript/quickstart.md
Normal file
177
source/developers/javascript/quickstart.md
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
# MinIO Client SDK for Haskell [](https://travis-ci.org/minio/minio-hs)[](https://hackage.haskell.org/package/minio-hs)[](https://slack.min.io)
|
||||||
|
|
||||||
|
The MinIO Haskell Client SDK provides simple APIs to access [MinIO](https://min.io) and Amazon S3 compatible object storage server.
|
||||||
|
|
||||||
|
## Minimum Requirements
|
||||||
|
|
||||||
|
- The Haskell [stack](https://docs.haskellstack.org/en/stable/README/)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Add to your project
|
||||||
|
|
||||||
|
Simply add `minio-hs` to your project's `.cabal` dependencies section or if you are using hpack, to your `package.yaml` file as usual.
|
||||||
|
|
||||||
|
### Try it out directly with `ghci`
|
||||||
|
|
||||||
|
From your home folder or any non-haskell project directory, just run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
stack install minio-hs
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Then start an interpreter session and browse the available APIs with:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
$ stack ghci
|
||||||
|
> :browse Network.Minio
|
||||||
|
```
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
|
The [examples](https://github.com/minio/minio-hs/tree/master/examples) folder contains many examples that you can try out and use to learn and to help with developing your own projects.
|
||||||
|
|
||||||
|
### Quick-Start Example - File Uploader
|
||||||
|
|
||||||
|
This example program connects to a MinIO object storage server, makes a bucket on the server and then uploads a file to the bucket.
|
||||||
|
|
||||||
|
We will use the MinIO server running at https://play.min.io in this example. Feel free to use this service for testing and development. Access credentials are present in the library and are open to the public.
|
||||||
|
|
||||||
|
### FileUploader.hs
|
||||||
|
``` haskell
|
||||||
|
#!/usr/bin/env stack
|
||||||
|
-- stack --resolver lts-14.11 runghc --package minio-hs --package optparse-applicative --package filepath
|
||||||
|
|
||||||
|
--
|
||||||
|
-- MinIO Haskell SDK, (C) 2017-2019 MinIO, Inc.
|
||||||
|
--
|
||||||
|
-- Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
-- you may not use this file except in compliance with the License.
|
||||||
|
-- You may obtain a copy of the License at
|
||||||
|
--
|
||||||
|
-- http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
--
|
||||||
|
-- Unless required by applicable law or agreed to in writing, software
|
||||||
|
-- distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
-- See the License for the specific language governing permissions and
|
||||||
|
-- limitations under the License.
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE ScopedTypeVariables #-}
|
||||||
|
import Network.Minio
|
||||||
|
|
||||||
|
import Data.Monoid ((<>))
|
||||||
|
import Data.Text (pack)
|
||||||
|
import Options.Applicative
|
||||||
|
import System.FilePath.Posix
|
||||||
|
import UnliftIO (throwIO, try)
|
||||||
|
|
||||||
|
import Prelude
|
||||||
|
|
||||||
|
-- | The following example uses minio's play server at
|
||||||
|
-- https://play.min.io. The endpoint and associated
|
||||||
|
-- credentials are provided via the libary constant,
|
||||||
|
--
|
||||||
|
-- > minioPlayCI :: ConnectInfo
|
||||||
|
--
|
||||||
|
|
||||||
|
-- optparse-applicative package based command-line parsing.
|
||||||
|
fileNameArgs :: Parser FilePath
|
||||||
|
fileNameArgs = strArgument
|
||||||
|
(metavar "FILENAME"
|
||||||
|
<> help "Name of file to upload to AWS S3 or a MinIO server")
|
||||||
|
|
||||||
|
cmdParser = info
|
||||||
|
(helper <*> fileNameArgs)
|
||||||
|
(fullDesc
|
||||||
|
<> progDesc "FileUploader"
|
||||||
|
<> header
|
||||||
|
"FileUploader - a simple file-uploader program using minio-hs")
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = do
|
||||||
|
let bucket = "my-bucket"
|
||||||
|
|
||||||
|
-- Parse command line argument
|
||||||
|
filepath <- execParser cmdParser
|
||||||
|
let object = pack $ takeBaseName filepath
|
||||||
|
|
||||||
|
res <- runMinio minioPlayCI $ do
|
||||||
|
-- Make a bucket; catch bucket already exists exception if thrown.
|
||||||
|
bErr <- try $ makeBucket bucket Nothing
|
||||||
|
|
||||||
|
-- If the bucket already exists, we would get a specific
|
||||||
|
-- `ServiceErr` exception thrown.
|
||||||
|
case bErr of
|
||||||
|
Left BucketAlreadyOwnedByYou -> return ()
|
||||||
|
Left e -> throwIO e
|
||||||
|
Right _ -> return ()
|
||||||
|
|
||||||
|
-- Upload filepath to bucket; object name is derived from filepath.
|
||||||
|
fPutObject bucket object filepath defaultPutObjectOptions
|
||||||
|
|
||||||
|
case res of
|
||||||
|
Left e -> putStrLn $ "file upload failed due to " ++ show e
|
||||||
|
Right () -> putStrLn "file upload succeeded."
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run FileUploader
|
||||||
|
|
||||||
|
``` sh
|
||||||
|
./FileUploader.hs "path/to/my/file"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Contribute
|
||||||
|
|
||||||
|
[Contributors Guide](https://github.com/minio/minio-hs/blob/master/CONTRIBUTING.md)
|
||||||
|
|
||||||
|
### Development
|
||||||
|
|
||||||
|
To setup:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/minio/minio-hs.git
|
||||||
|
|
||||||
|
cd minio-hs/
|
||||||
|
|
||||||
|
stack install
|
||||||
|
```
|
||||||
|
|
||||||
|
Tests can be run with:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
stack test
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
A section of the tests use the remote MinIO Play server at `https://play.min.io` by default. For library development, using this remote server maybe slow. To run the tests against a locally running MinIO live server at `http://localhost:9000`, just set the environment `MINIO_LOCAL` to any value (and unset it to switch back to Play).
|
||||||
|
|
||||||
|
To run the live server tests, set a build flag as shown below:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
stack test --flag minio-hs:live-test
|
||||||
|
|
||||||
|
# OR against a local MinIO server with:
|
||||||
|
|
||||||
|
MINIO_LOCAL=1 stack test --flag minio-hs:live-test
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
The configured CI system always runs both test-suites for every change.
|
||||||
|
|
||||||
|
Documentation can be locally built with:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
|
||||||
|
stack haddock
|
||||||
|
|
||||||
|
```
|
@ -6,39 +6,241 @@ Software Development Kits (SDK)
|
|||||||
|
|
||||||
.. default-domain:: minio
|
.. default-domain:: minio
|
||||||
|
|
||||||
|
.. contents:: Table of Contents
|
||||||
|
:local:
|
||||||
|
:depth: 1
|
||||||
|
|
||||||
MinIO publishes the following Software Development Kits (SDK):
|
MinIO publishes the following Software Development Kits (SDK):
|
||||||
|
|
||||||
.. list-table::
|
1. :ref:`.NET <dotnet-sdk>`
|
||||||
:header-rows: 1
|
2. :ref:`Golang <go-sdk>`
|
||||||
:widths: 30 30 40
|
3. :ref:`Haskell <haskell-sdk>`
|
||||||
:width: 100%
|
4. :ref:`Java <java-sdk>`
|
||||||
|
5. :ref:`JavaScript <javascript-sdk>`
|
||||||
|
6. :ref:`Python <python-sdk>`
|
||||||
|
|
||||||
* - Language
|
|
||||||
- Reference
|
|
||||||
- Download
|
|
||||||
|
|
||||||
* - Java (``minio-java``)
|
..
|
||||||
- :ref:`MinIO Java SDK Reference <minio-java-quickstart>`
|
C++ repo does not have any releases yet. Once released, unblock this section and add to toctree and numbered list.
|
||||||
- ToDo
|
|
||||||
|
.. _cpp-sdk:
|
||||||
|
|
||||||
* - Python (``minio-py``)
|
C++ (``minio-cpp``)
|
||||||
- :doc:`MinIO Python SDK Reference </developers/python/minio-py>`
|
-------------------
|
||||||
- ToDo
|
|
||||||
|
|
||||||
* - Go (``minio-go``)
|
Latest Version
|
||||||
- :doc:`MinIO Go SDK Reference </developers/go/minio-go>`
|
|cpp-sdk-version|
|
||||||
- ToDo
|
|
||||||
|
|
||||||
* - .NET (``minio-dotnet``)
|
Reference
|
||||||
- :doc:`MinIO .NET SDK Reference </developers/dotnet/minio-dotnet>`
|
:doc:`MinIO C++ SDK Reference </developers/cpp/minio-cpp>`
|
||||||
- ToDo
|
|
||||||
|
Install
|
||||||
|
- ``vcpkg``
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
vcpkg install minio-cpp
|
||||||
|
|
||||||
|
- Source
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
git clone https://github.com/minio/minio-cpp
|
||||||
|
cd minio-cpp
|
||||||
|
wget --quiet -O vcpkg-master.zip https://github.com/microsoft/vcpkg/archive/refs/heads/master.zip
|
||||||
|
unzip -qq vcpkg-master.zip
|
||||||
|
./vcpkg-master/bootstrap-vcpkg.sh
|
||||||
|
./vcpkg-master/vcpkg integrate install
|
||||||
|
cmake -B ./build -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=./vcpkg-master/scripts/buildsystems/vcpkg.cmake
|
||||||
|
cmake --build ./build --config Debug
|
||||||
|
|
||||||
|
.. _dotnet-sdk:
|
||||||
|
|
||||||
|
.NET (``minio-dotnet``)
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|dotnet-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO .NET SDK Reference </developers/dotnet/minio-dotnet>`
|
||||||
|
|
||||||
|
Download from NuGet
|
||||||
|
Run the following command in the NuGet Package Manager Console.
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
PM> Install-Package Minio
|
||||||
|
|
||||||
|
.. _go-sdk:
|
||||||
|
|
||||||
|
Go (``minio-go``)
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|go-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO Go SDK Reference </developers/go/minio-go>`
|
||||||
|
|
||||||
|
Download from GitHub
|
||||||
|
.. code-block:: go
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
go get github.com/minio/minio-go/v7
|
||||||
|
|
||||||
|
.. _haskell-sdk:
|
||||||
|
|
||||||
|
Haskell (``minio-hs``)
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|haskell-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO Haskell SDK Reference </developers/haskell/minio-haskell>`
|
||||||
|
|
||||||
|
Install
|
||||||
|
Add ``minio-hs`` to your project's ``.cabal`` dependencies section.
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
If you are using ``hpack``, add ``minio-hs`` to your ``package.yaml`` file.
|
||||||
|
|
||||||
|
.. _java-sdk:
|
||||||
|
|
||||||
|
Java (``minio-java``)
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Latest version
|
||||||
|
|java-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:ref:`MinIO Java SDK Reference <minio-java-quickstart>`
|
||||||
|
|
||||||
|
Install methods
|
||||||
|
- Maven
|
||||||
|
|
||||||
|
.. code-block:: java
|
||||||
|
:class: copyable
|
||||||
|
:substitutions:
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.minio</groupId>
|
||||||
|
<artifactId>minio</artifactId>
|
||||||
|
<version>|java-sdk-version|</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
- Gradle
|
||||||
|
|
||||||
|
.. code-block:: java
|
||||||
|
:class: copyable
|
||||||
|
:substitutions:
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("io.minio:minio:|java-sdk-version|")
|
||||||
|
}
|
||||||
|
|
||||||
|
- JAR
|
||||||
|
|
||||||
|
Download the latest JAR file for |java-sdk-version| of the SDK from |java-jar-url|.
|
||||||
|
|
||||||
|
.. _javascript-sdk:
|
||||||
|
|
||||||
|
JavaScript (``minio-js``)
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|javascript-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO JavaScript SDK Reference </developers/javascript/minio-javascript>`
|
||||||
|
|
||||||
|
Install
|
||||||
|
- NPM
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
npm install --save minio
|
||||||
|
|
||||||
|
- Source
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
git clone https://github.com/minio/minio-js
|
||||||
|
cd minio-js
|
||||||
|
npm install
|
||||||
|
npm install -g
|
||||||
|
|
||||||
|
- TypeScript
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
npm install --save-dev @types/minio
|
||||||
|
|
||||||
|
.. _python-sdk:
|
||||||
|
|
||||||
|
Python (``minio-py``)
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|python-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO Python SDK Reference </developers/python/minio-py>`
|
||||||
|
|
||||||
|
Install Methods
|
||||||
|
- pip
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
pip3 install minio
|
||||||
|
|
||||||
|
- source
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
:class: copyable
|
||||||
|
|
||||||
|
git clone https://github.com/minio/minio-py
|
||||||
|
cd minio-py
|
||||||
|
python setup.py install
|
||||||
|
|
||||||
|
..
|
||||||
|
Rust SDK repo does not have any releases yet. Once released, unblock this section and add to toctree.
|
||||||
|
|
||||||
|
.. _rust-sdk:
|
||||||
|
|
||||||
|
Rust (``minio-rs``)
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
Latest Version
|
||||||
|
|rust-sdk-version|
|
||||||
|
|
||||||
|
Reference
|
||||||
|
:doc:`MinIO Rust SDK Reference </developers/rust/minio-rust>`
|
||||||
|
|
||||||
|
Install
|
||||||
|
To Do
|
||||||
|
|
||||||
|
|
||||||
|
..
|
||||||
|
Will need to add C++ and Rust to the toctree once released.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
:hidden:
|
:hidden:
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
/developers/java/minio-java
|
/developers/dotnet/minio-dotnet
|
||||||
/developers/python/minio-py
|
|
||||||
/developers/go/minio-go
|
/developers/go/minio-go
|
||||||
/developers/dotnet/minio-dotnet
|
/developers/haskell/minio-haskell
|
||||||
|
/developers/java/minio-java
|
||||||
|
/developers/javascript/minio-javascript
|
||||||
|
/developers/python/minio-py
|
||||||
|
@ -5,7 +5,7 @@ MinIO Python SDK is Simple Storage Service (aka S3) client to perform bucket and
|
|||||||
For a complete list of APIs and examples, please take a look at the [Python Client API Reference](https://docs.min.io/docs/python-client-api-reference)
|
For a complete list of APIs and examples, please take a look at the [Python Client API Reference](https://docs.min.io/docs/python-client-api-reference)
|
||||||
|
|
||||||
## Minimum Requirements
|
## Minimum Requirements
|
||||||
Python 3.6 or higher.
|
Python 3.7 or higher.
|
||||||
|
|
||||||
## Download using pip
|
## Download using pip
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user