[英]Can't find my Rackspace cloud server via openstacknetsdk
我正在嘗試編寫一個簡單的概念驗證,以通過C# openstacknetsdk庫v1.3.0.0在Rackspace Cloud帳戶中操作雲服務器。
我遇到的問題是,盡管我似乎能夠使用我的Rackspace用戶名和API密鑰成功進行身份驗證,但該API的運行方式似乎沒有任何服務器。 我的代碼:
using net.openstack.Providers.Rackspace;
using net.openstack.Core.Providers;
using net.openstack.Core.Exceptions.Response;
using net.openstack.Providers.Rackspace.Objects;
using net.openstack.Core.Domain;
...
const string USERNAME = "[my rackspace username]";
const string API_KEY = "[my rackspace API key]";
static void Main(string[] args)
{
CloudIdentity cloudIdentity = new CloudIdentity() { APIKey = API_KEY, Username = USERNAME };
CloudServersProvider provider = new CloudServersProvider(cloudIdentity);
IEnumerable<SimpleServer> servers = provider.ListServers();
foreach (SimpleServer server in servers)
{
Console.Out.WriteLine(server.Id);
}
}
當我在調試器中逐步執行此代碼時,我可以看到servers
最終的大小為0,而最終沒有任何內容被寫出。
這是意外的,因為我確實創建了一個服務器,可以在Rackspace雲控制面板網站上看到它。 服務器處於活動狀態。
如果嘗試獲取有關特定服務器的信息,請使用Rackspace雲控制面板站點上“雲服務器>服務器詳細信息”頁面上的服務器ID:
Server server = provider.GetDetails("[my cloud server ID]");
Console.Out.WriteLine(server.Image.Name);
我得到了net.openstack.Core.Exceptions.Response.ItemNotFoundException。
身份驗證似乎有效,因為如果我有意將API_KEY
值更改為不正確的值(例如"test"
),則會得到UserNotAuthorizedException。
我在這里想念什么? 為什么openstacknetsdk的行為就像我沒有任何服務器?
您創建的服務器是否在默認區域中?
為了安全起見,請嘗試在.ListServers()方法調用中指定區域。
也; 您可以通過NuGet下載樣本數據; 搜索“ openstack示例”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.