aws 云存储 Linux sdk,适用于与Amazon S3兼容的云存储的MinIO .NET SDK

适用于与Amazon S3兼容的云存储的MinIO .NET SDK slack?type=svgmaster?svg=true

MinIO .NET Client SDK提供了简单的API来访问MinIO以及任何与Amazon S3兼容的对象存储服务。有关API和示例的完整列表,请查看Dotnet Client API Reference文档。本文假设你已经有VisualStudio开发环境。

最低需求

.NET 4.5.2,.NetStandard2.0或更高版本

Visual Studio 2017

使用NuGet安装

为了安装.NET Framework的MinIO .NET包,你可以在Nuget Package Manager控制台运行下面的命令。

PM> Install-Package Minio

MinIO Client示例

MinIO client需要以下4个参数来连接与Amazon S3兼容的对象存储服务。

参数

描述

endpoint

对象存储服务的URL

accessKey

Access key是唯一标识你的账户的用户ID。

secretKey

Secret key是你账户的密码。

secure

true代表使用HTTPS。

下面示例中使用运行在 https://play.min.io 上的MinIO服务,你可以用这个服务来开发和测试。示例中的访问凭据是公开的。

using Minio;

// Initialize the client with access credentials.

private static MinioClient minio = new MinioClient("play.min.io",

"Q3AM3UQ867SPQQA43P2F",

"zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG"

).WithSSL();

// Create an async task for listing buckets.

var getListBucketsTask = minio.ListBucketsAsync();

// Iterate over the list of buckets.

foreach (Bucket bucket in getListBucketsTask.Result.Buckets)

{

Console.WriteLine(bucket.Name + " " + bucket.CreationDateDateTime);

}

完整的_File Uploader_示例

本示例程序连接到一个对象存储服务,创建一个存储桶,并且上传一个文件到该存储桶中。为了运行下面的示例,请点击[Link]启动该项目。

using System;

using Minio;

using Minio.Exceptions;

using Minio.DataModel;

using System.Threading.Tasks;

namespace FileUploader

{

class FileUpload

{

static void Main(string[] args)

{

var endpoint = "play.min.io";

var accessKey = "Q3AM3UQ867SPQQA43P2F";

var secretKey = "zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG";

try

{

var minio = new MinioClient(endpoint, accessKey, secretKey).WithSSL();

FileUpload.Run(minio).Wait();

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

Console.ReadLine();

}

// File uploader task.

private async static Task Run(MinioClient minio)

{

var bucketName = "mymusic";

var location = "us-east-1";

var objectName = "golden-oldies.zip";

var filePath = "C:\\Users\\username\\Downloads\\golden_oldies.mp3";

var contentType = "application/zip";

try

{

// Make a bucket on the server, if not already present.

bool found = await minio.BucketExistsAsync(bucketName);

if (!found)

{

await minio.MakeBucketAsync(bucketName, location);

}

// Upload a file to bucket.

await minio.PutObjectAsync(bucketName, objectName, filePath, contentType);

Console.WriteLine("Successfully uploaded " + objectName );

}

catch (MinioException e)

{

Console.WriteLine("File Upload Error: {0}", e.Message);

}

}

}

}

运行MinIO Client示例

Windows

clone这个项目,并在Visual Studio 2017中打开Minio.Sln。

$ git clone https://github.com/minio/minio-dotnet && cd minio-dotnet

在Minio.Examples/Program.cs中输入你的认证信息、存储桶名称、对象名称等。

在Program.cs中取消注释以下类似的测试用例来运行示例。

//Cases.MakeBucket.Run(minioClient, bucketName).Wait();

从Visual Studio运行Minio.Client.Examples或

Linux (Ubuntu 16.04)

在Linux上设置Mono和.NETCore

注意:minio-dotnet需要mono 5.0.1稳定版本和.NET Core 2.0 SDK。

为你的发行版发装.NETCore和Mono 。请参阅示例脚本Ubuntu Xenial mono_install.sh安装.NETCore和Mono。

$ ./mono_install.sh

运行Minio.Examples

$ cd Minio.Examples

$ dotnet build -c Release

$ dotnet run

操作存储桶

存储桶策略

存储桶通知

操作文件对象

操作对象

Presigned操作

客户端自定义设置

了解更多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值