最近下载了OSS的.NET SDK做测试,发现可以正常连接OSS,并取出已创建的Bucket,但是通过SDK创建Bucket时,一直提示InvalidBucketName错误。但是相同的Bucket名称,通过控制台进行创建,却没有问题。难道是控制台用的另一套SDK 规则?
实在搞不明白了,求解。
以下是代码:
try
{
Uri uri = new Uri("http://storage.aliyun.com");
//获取阿里云Oss Objects目录结构
String accessId = "";//输入id
String accessKey = "";//输入key
OssClient ossClient = new OssClient(uri, accessId, accessKey);
//成功获取Buckets
IEnumerable<Bucket> bucketsList = ossClient.ListBuckets();
//下边这句,提示InvalidBucketName,但相同名称在控制台创建却没有问题
Bucket bucket = ossClient.CreateBucket("testcreatebucketname");
//foreach (Bucket bt in bucketsList)
//{
// ListObjectsRequest request = new ListObjectsRequest(bt.Name);
// request.Prefix = "/";
// ObjectListing objectList = ossClient.ListObjects(request);
//}
}
catch (OssException ex)
{
if (ex.ErrorCode == OssErrorCode.BucketAlreadyExists)
{
// 这里示例处理一种特定的ErrorCode。
MessageBox.Show(string.Format("Bucket '{0}' 已经存在,请更改名称后再创建。", bucketName));
}
else
{
// RequestID和HostID可以在有问题时用于联系客服诊断异常。
MessageBox.Show(string.Format("创建失败。错误代码:{0}; 错误消息:{1}。\nRequestID:{2}\tHostID:{3}",
ex.ErrorCode,
ex.Message,
ex.RequestId,
ex.HostId));
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。