HuaweiCloudObs 0.0.2

dotnet add package HuaweiCloudObs --version 0.0.2                
NuGet\Install-Package HuaweiCloudObs -Version 0.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="HuaweiCloudObs" Version="0.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add HuaweiCloudObs --version 0.0.2                
#r "nuget: HuaweiCloudObs, 0.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install HuaweiCloudObs as a Cake Addin
#addin nuget:?package=HuaweiCloudObs&version=0.0.2

// Install HuaweiCloudObs as a Cake Tool
#tool nuget:?package=HuaweiCloudObs&version=0.0.2                

HuaweiCloudObs

huawei cloud obs .net sdk

安装

安装nuget HuaweiCloudObs

使用

在appsettings.json里添加配置

"HuaweiCloudObs": {
    "EndPoint": "obs.cn-east-3.myhuaweicloud.com",
    "AccessKey": "xxx",
    "SecretKey": "xxx"
  }

在Startup.cs的ConfigureService()方法里加入完成注入. 需传入IConfigurationRoot

services.AddHuaweiCloudObs(configuration);

需要使用的地方注入对应接口 以Abp的appservice为例,如MyAppService. 直接使用Controller也是差不多,注入后即可使用

public class MyObsAppService : ApplicationService
{
  private readonly IObsObjectApi _objectApi;
  public MyObsAppService(IObsObjectApi api)
  {
    api.Bucket = "MyBucket";//设置bucket,可以放在配置里注入,也可存入数据库后读取
    _objectApi = api;
  }

  public async Task UploadAsync(IFormFile file, string name)
  {
     var bytes = await file.GetAllBytes();
     await _objectApi.PutAsync(name, file);
  }

  public Task DeleteAsync(string name)
  {
    return _objectApi.DeleteAsync(name);
  }

  public async Task DeleteBatchAsync(IEnumerable<string> names)
  {
    var result = await _objectApi.DeleteBatchAsync(new DeleteObjectsRequest
    {
      Objects = name.Select(f => new DeleteObject{ Key = f}).ToList()
    });

    if(result.Errors.Count > 0)
    {
      //存在删除失败对象
      //TODO: 删除失败处理
    }
  }
}

路线图

对象操作

桶操作

基础操作

高级操作

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.0.2 380 8/27/2021
0.0.1 322 8/19/2021