1

サーバー自体から Rackspace Cloud サーバーに関する情報を見つけるにはどうすればよいですか?

Amazon AWS にはそれがあり、ここに文書化されています: http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html?r=7479

4

2 に答える 2

0

Rackspace Cloud Server APIを使用できます:http ://www.rackspace.com/cloud/cloud_hosting_products/servers/api/

ここにPythonの実装があります:http://packages.python.org/python-cloudservers/

または、コマンドラインツールも非常に便利です:http://jsquaredconsulting.com/blog/2010/11/rscurl-a-rackspace-cloud-server-command-line-tool/

これが最も実用的なリンクです/\

于 2012-01-18T04:36:02.343 に答える
0

アプリケーション コードから、ここ (C# の場合) で説明されているような手法を使用して、ローカル サーバーの独自の外部 IP アドレスを見つけることができます: https://stackoverflow.com/a/1069113/12484

次に、IP アドレスを取得したら、Rackspace Cloud API を使用してすべてのアクティブなサーバーのリストをクエリし、一致する IP アドレスを持つサーバーの情報を取得できます。サンプル コード (C#、OpenStack.net SDKを使用):

CloudIdentity cloudIdentity = new CloudIdentity { APIKey = API_KEY, Username = USERNAME };
CloudServersProvider provider = new CloudServersProvider(cloudIdentity);

IEnumerable<Server> servers = provider.ListServersWithDetails(region: REGION);
foreach (Server server in servers)
{
    if (server.AccessIPv4 == ipAddress)
    {
        Console.Out.WriteLine("Server ID:" + server.Id);
        Console.Out.WriteLine("  Flavor: " + server.Flavor.Name);
        Console.Out.WriteLine("  Image: " + server.Image.Name);
        Console.Out.WriteLine("  PowerState: " + server.PowerState.Name);
        Console.Out.WriteLine("  Status: " + server.Status.Name);
        Console.Out.WriteLine("  UserId: " + server.UserId); 
        break;       
    }
}

USERNAME上記のコードの、API_KEY、およびREGIONは、独自の Rackspace Cloud アカウントの実際の値に置き換える必要があります。

于 2014-04-30T14:04:00.830 に答える