Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gotoren/storage-api-sample
Verification of local environmental object storage using Public cloud object storage compatible MinIO.
https://github.com/gotoren/storage-api-sample
cloud-storage docker go minio s3
Last synced: 26 days ago
JSON representation
Verification of local environmental object storage using Public cloud object storage compatible MinIO.
- Host: GitHub
- URL: https://github.com/gotoren/storage-api-sample
- Owner: GotoRen
- Created: 2023-06-14T10:15:43.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-28T14:48:27.000Z (9 months ago)
- Last Synced: 2024-06-19T11:28:54.378Z (7 months ago)
- Topics: cloud-storage, docker, go, minio, s3
- Language: Go
- Homepage: https://www.ren510.dev/blog/baremetal-distributed-storage
- Size: 30.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# storage-api-sample
## Supported platform
- MinIO(Supported)
- Amazon S3(Supported)
- Google Cloud Storage(Coming soon)## Usage
### 1. ローカル環境構築
```shell
### composeを起動
$ docker compose up -d
```### 2. MinIO アクセス
- http://localhost:9001/login
- `AWS_ACCESS_KEY_ID`:admin
- `AWS_SECRET_ACESS_key`:password
- `REGION_NAME`:ap-northeast-1### 3. バケットを確認
- バケット名:`sample-storage`
![image](https://github.com/GotoRen/storage-api-sample/assets/63791288/d576122e-fa29-4386-81fb-e3788e47832c)
### 4. 必要に応じてコメントインして実行
```go
// 1. ローカルファイルをアップロード
if err := client.Upload(cfg); err != nil {
log.Fatal(err)
}// 2. オブジェクトファイルを読込
if err := client.Read(cfg); err != nil {
log.Fatal(err)
}// 3. オブジェクトファイルをダウンロード
if err := client.Download(cfg); err != nil {
log.Fatal(err)
}// 4. オブジェクトファイルを削除
if err := client.Delete(cfg); err != nil {
log.Fatal(err)
}// 5. Presigned URL を使用してファイルをアップロード
if err := client.UploadWithPreSignedRequest(cfg); err != nil {
log.Fatal(err)
}
```