C# OpenStack.NET:更改服务端点URL
我开始研究一个项目的OpenStack对象存储。为此,我使用OpenStack.NET库和C#。这个库是由RackSpace创建的,但我使用的是另一个OpenStack提供程序 通过在实例化新的CloudIdentityProvider时指定身份验证服务URL,我可以很好地进行身份验证:C# OpenStack.NET:更改服务端点URL,c#,openstacknetsdk,C#,Openstacknetsdk,我开始研究一个项目的OpenStack对象存储。为此,我使用OpenStack.NET库和C#。这个库是由RackSpace创建的,但我使用的是另一个OpenStack提供程序 通过在实例化新的CloudIdentityProvider时指定身份验证服务URL,我可以很好地进行身份验证: CloudIdentity foo = new CloudIdentity() { Username = userName,
CloudIdentity foo = new CloudIdentity()
{
Username = userName,
Password = password
};
CloudIdentityProvider bar = new CloudIdentityProvider(new Uri("http://foo.bar"));
UserAccess ua = bar.Authenticate(foo);
这很有效。但是,当我尝试从指定区域检索对象容器时,出现了一个错误:
CloudFilesProvider cfp = new CloudFilesProvider(foo, bar);
IEnumerable<Container> listOfContainers = cfp.ListContainers(region:"SBG-1");
CloudFilesProvider cfp=新的CloudFilesProvider(foo,bar);
IEnumerable listOfContainers=cfp.ListContainers(区域:“SBG-1”);
上面的第二行抛出此错误:
用户无权访问请求的服务或区域
现在我不认为这是真正的错误,因为这个用户是从提供者的web界面创建对象容器的人。我在想,也许我需要明确地指定服务端点URL(就像我在身份验证中所做的那样),但就我的一生而言,我似乎找不到任何方法来做到这一点
OpenStack.NET文档非常有限,并且倾向于使用RackSpace,并没有真正进入通用示例