问题标签 [openstacknetsdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openstack - OpenStack Rackspace 云文件 .net SDK
我正在尝试将 XML 文件保存到来自悉尼的非 CDN 容器:
对于一个 1MB 的文件,上传大约需要 50 秒(很长)。
并且,尝试重新下载文件,返回一个空结果:
我做错了什么?
c# - 通过 openstacknetsdk 找不到我的 Rackspace 云服务器
我正在尝试编写一个简单的概念验证,用于通过 C# openstacknetsdk库 v1.3.0.0 在我的 Rackspace Cloud 帐户中操作云服务器。
我遇到的问题是,虽然我似乎能够使用我的 Rackspace 用户名和 API 密钥成功进行身份验证,但 API 的行为就像我没有任何服务器一样。我的代码:
当我在调试器中单步执行此代码时,我可以看到它servers
的大小最终为 0,并且没有任何内容最终被写出。
这是出乎意料的,因为我确实创建了一台服务器,我可以在 Rackspace 云控制面板网站上看到它。服务器处于活动状态。
如果我尝试使用 Rackspace 云控制面板站点上云服务器 > 服务器详细信息页面中的服务器 ID 获取有关我的特定服务器的信息:
我得到一个 net.openstack.Core.Exceptions.Response.ItemNotFoundException。
身份验证似乎正在工作,因为如果我故意将我的API_KEY
值更改为不正确的值(如"test"
),我会得到一个 UserNotAuthorizedException 。
我在这里想念什么?为什么 openstacknetsdk 的行为就像我没有任何服务器一样?
rackspace-cloud - 无法使用带有 openstack.net 的 Rackspace Cloud DNS 创建域
我目前正在尝试使用 openstack.net sdk 在 Rackspace Cloud DNS 服务上创建一个域,但没有任何反应。
我得到了我的 rackspace 帐户,它被激活了,我也得到了我的 API 密钥。
我编写了一个控制台应用程序来测试我的代码,但结果总是“WaitingForActivation”,我找不到任何使用 openstack.net sdk 的 cloudDNS 文档。
谁能看看我的代码并告诉我我做错了什么。
私有静态字符串 RackSpaceUserName { get { return "username"; } }
result.Status 的值始终返回“WaitingForActivation”,当我检查我的 rackspace 云 dns 仪表板时,没有创建域。
任何帮助将不胜感激。
c# - Openstack.Net SDK 无法访问服务
我们已经在我们自己的硬件上设置了一个 OpenStack 系统,安装了所有组件,一切看起来都很好,因为我们已经通过 Web 界面创建了网络和虚拟机。
我正在尝试使用 openstack.net SDK 以编程方式执行操作。我似乎可以使用用户名和密码进行身份验证,但是在访问已安装的其他服务时,我们收到错误提示 API 端点对用户不可用。
我们正在使用的代码在下面,它可以正常工作,直到 CreateServer 行出现错误
“无法验证用户身份并检索授权服务端点。”
在仪表板中以同一用户身份登录时,我可以在 Access and Security >> API Endpoints 部分看到所有服务 url,但 UserAccess.ServiceCatalog 似乎没有填充任何内容。
非常感谢任何帮助或指示。
c# - Openstack.Net SDK 无法访问具有区域的服务
使用我们自己的硬件,我们已经安装了带有所有组件的 vanilla openstack,但是由于区域问题,我在访问身份以外的服务时遇到了问题。使用的代码如下调用我们创建的管理员帐户和管理员租户...
代码在调用 ListContainers(region: region) 时失败,出现错误...“用户无权访问请求的服务或区域”,好像我没有指定区域,错误只是“没有区域”已提供,服务不提供独立于区域的端点,并且没有为用户帐户设置默认区域'
我们目前只访问我们的内部网络,因此区域对我们来说并不重要......
另外值得注意的是,当拨打...
我可以看到的网络返回错误“该项目未找到或不存在。”
非常感谢帮助和建议。
openstack - Openstack中全局角色和租户角色的区别
我注意到 API 文档引用了全局角色和租户角色。例如
链接http://developer.openstack.org/api-ref-identity-v2.html#identity-v2-ext有一个 Get 操作
上面写着“列出指定用户的全局角色。当我使用 Openstack.net SDK (GetRolesByUser) 为管理员用户调用此命令时,排除租户角色,我可以看到它正确地进行了调用,但我得到的响应是......
那么租户角色和全局角色有什么区别。这个 api 调用是否已从 openstack 中弃用?
c# - OpenStack.NET:更改服务端点 URL
我开始为一个项目研究 OpenStack 对象存储。为此,我使用 OpenStack.NET 库和 C#。这个库是由 RackSpace 创建的,但我使用的是不同的 OpenStack Provider。
在实例化新的 CloudIdentityProvider 时,我可以通过指定身份验证服务 URL 来很好地进行身份验证:
这很好用。但是,当我尝试从指定区域检索对象容器时,出现错误:
上面的第二行抛出了这个错误:
用户无权访问请求的服务或区域。
现在我不认为这就是实际的错误,因为这个用户是从提供者的 Web 界面创建对象容器的人。我在想,也许我需要明确指定服务端点 URL(就像我为身份验证所做的那样),但对于我的生活,我似乎找不到任何方法来做到这一点。
OpenStack.NET 文档非常有限,并且倾向于坚持使用 RackSpace,并没有真正进入通用示例。
openstack-swift - 连接到 OpenStack Swift 仅使用 Rackspace OpenStack.net 安装
我已经能够安装并运行 OpenStack Swift。我的安装是严格的 Swift,不包括 Keystone 或其他 OpenStack 组件。
当我使用该curl
命令时,我可以创建用户并进行 Swift 测试,以确保一切正常。我遇到问题的地方是当我使用github上的 Rackspace 维护的 OpenStack.NET API 时。
使用以下命令,我能够创建一个 swift 用户。
一切都按预期工作,并创建了用户/帐户。然后,在我的 Windows 开发机器上,我从 Rackspace GitHub 下载了 OpenStack.NET API,并创建了一个运行以下代码的应用程序;
当它运行时,我收到以下错误。
“找不到支持给定 OpenStack 实例所请求服务的客户端。”
我在这里做错了什么?
.net - 为什么在使用 ExtractArchiveFromFile 时出现 SocketException
当我尝试使用 openstacknetsdk 将档案上传到 Rackspace Cloudfiles 时,我得到了一个System.Net.Sockets.SocketException
,上传相同的文件CreateObjectFromFile
可以完美地工作。
示例代码:
异常详情:
bz2 文件为 +-170MB。
在查看代码时,我没有看到任何显着差异......
- 牛顿软件.Json 5.0.8
- openstack.net 1.3.3.0
- 简单REST服务 1.3.0.1
openstack-swift - 是否可以将 OpenStack.NET SDK 与 SoftLayer 对象存储一起使用?
SoftLayer 对象存储基于OpenStack Swift对象存储。
SoftLayer 在 Python、Ruby、Java 和 PHP 中为他们的对象存储提供 SDK,但不在 .NET 中。在为 OpenStack 搜索 .NET SDK 时,我遇到了OpenStack.NET。
基于这个问题,OpenStack.NET 默认设计为与 Rackspace 一起使用,但可以使用CloudIdentityWithProject
和与其他 OpenStack 提供程序一起使用OpenStackIdentityProvider
。
SoftLayer 提供以下信息以连接到其对象存储:
这将如何映射到 的字段并不明显CloudIdentityWithProject
,OpenStackIdentityProvider
但我尝试了以下和项目名称/用户名/uri的其他一些组合:
但是,在所有情况下,我都收到以下错误:
根据查看 SoftLayer 的其他语言库和 OpenStack.NET 的源代码,看起来 SoftLayer 的对象存储使用 V1 auth,而 OpenStack.NET 使用 V2 auth。
根据SoftLayer的这篇文章和 SwiftStack的这篇文章,V1 auth 使用了一个/auth/v1.0/
路径(就像 SoftLayer 提供的路径),带有X-Auth-User
和X-Auth-Key
标头作为参数,并且响应包含在标头中,如下所示:
而 V2 auth ( identity API V2.0 ) 使用/v2.0/tokens
路径,请求和响应在消息正文中的 JSON 对象中。
基于OpenStackIdentityProvider
OpenStack.NET 中的类,我将自己的类组合在一起,SoftLayerOpenStackIdentityProvider
如下所示:
UserAccess
因为(like IdentityToken
and )的一些成员Endpoint
无法设置它们的字段(对象只有一个默认构造函数并且只有只读成员),所以我必须UserAccess
通过反序列化一些与返回的格式类似的临时 JSON 来创建对象通过 V2 API。
这有效,即我现在可以这样连接:
然后像这样访问文件等:
但是,有没有比这更好的方法来使用 .NET 中的 SoftLayer 对象存储?
我还简要地查看了OpenStack SDK for .NET(与 OpenStack.NET 不同的库),但它似乎也基于 V2 auth。