-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AlibabaCloud.SDK.Oss20190517 不能使用吗? #7
Comments
这么大的问题,居然还不处理。 我怀疑问题出在这里: 1、AlibabaCloud.SDK.Oss20190517.Client继承了AlibabaCloud.OpenApiClient。初看堆栈,是执行父类ExecuteAsync时报错,但因为这里非常粗暴地throw了异常,导致堆栈截断,看不到进一步的信息。 2、进一步分析源码,发现AlibabaCloud.SDK.Oss20190517.Client里包装了AlibabaCloud.GatewaySpi.Client,这是一个父类,里面的方法全部是 3、实际在AlibabaCloud.SDK.Oss20190517.Client的构造函数中,初始化的是AlibabaCloud.GatewayOss.Client。代码如下: protected AlibabaCloud.GatewaySpi.Client _client;
public Client(AlibabaCloud.OpenApiClient.Models.Config config): base(config)
{
this._client = new AlibabaCloud.GatewayOss.Client();
this._spi = _client;
this._endpointRule = "";
} 最骚的操作来了:在AlibabaCloud.GatewayOss.Client类里,直接复制了父类的几个同名方法然后添加了具体实现……只有继承,并没有重载方法实现多态。这导致编译器使用new关键词覆盖了父类的各种方法,在Nuget包AlibabaCloud.GatewayOss目前最新版本0.0.3.0可以看到: 4、综上,在ExecuteAsync方法中,会调用到 5、希望尽快修复 |
@AxiosLeo 您好,当前 |
@LeaFrock 好的。我帮你反馈下这个问题。 |
收到反馈,会近期支持。 |
OSS SDK已更新 |
@yndu13 好像还是有问题 调用方法,如下所示:using Oss = AlibabaCloud.SDK.Oss20190517;
var ossCfg = new Config
{
AccessKeyId = <Key>,
AccessKeySecret = <Secret>,
Endpoint = "oss-cn-hangzhou.aliyuncs.com"
};
var cli = new Oss.Client(ossCfg);
var req = new Oss.Models.ListBucketsRequest
{
MaxKeys = 500
};
try
{
// var result = await cli.ListBucketsAsync(req);
var result = await cli.ListBucketsWithOptionsAsync(req, new Dictionary<string, string>(), new RuntimeOptions());
if (result == null || result.Body == null || result.Body.Buckets == null ||
result.Body.Buckets.Buckets == null || result.Body.Buckets.Buckets.Count == 0)
{
return new(code: 400, msg: "暂无 Bucket");
}
return new(result.Body.Buckets.Buckets, result.Body.Buckets.Buckets.Count);
}
catch (TeaException e)
{
return new(code: 500, msg: Common.AssertAsString(e.Message));
}
catch (Exception e)
{
var ex = new TeaException(new Dictionary<string, string>
{
{ "message", e.Message }
});
return new(code: 500, msg: Common.AssertAsString(ex.Message));
} 异常如下图所示:不管是 |
@LeaFrock 麻烦再帮忙反馈一下,好像还是不行。 |
@jacksonwj 建议另开issue。不过感觉阿里云对.NET SDK不是很上心,如果着急的话建议走阿里云工单进行反馈或者投诉。 |
@LeaFrock 感谢 |
对于 OSS 的操作,现在使用的是
Aliyun.OSS.SDK.NetCore
,偶然看到还有一个AlibabaCloud.SDK.Oss20190517
的 SDK。添加到项目内,调用方法
ListBucketsAsync(req)
,抛出异常:The method or operation is not implemented
。请问,这个 SDK
AlibabaCloud.SDK.Oss20190517
还没有实现完毕吗?The text was updated successfully, but these errors were encountered: