![](/img/trans.png)
[英]Authenticating restricted user to Cloud Files on Rackspace using openstack.net
[英]cannot creat a domain using Rackspace Cloud DNS with openstack.net
我目前正在嘗試使用openstack.net sdk在Rackspace Cloud DNS服務上創建一個域,但是沒有任何反應。
我有我的機架帳戶,它已激活,我也有我的API密鑰。
我編寫了一個控制台應用程序來測試我的代碼,但結果始終為“ WaitingForActivation”,而且我無法使用openstack.net SDK找到關於cloudsDNS的任何文檔。
任何人都可以看一下我的代碼,然后告訴我我做錯了什么。
私有靜態字符串RackSpaceUserName {get {return“ username”; }}
private static string RackSpaceUserApiKey
{
get { return "apikey"; }
}
private UserAccess RackSpaceUser
{
get
{
IIdentityProvider identityProvider = new CloudIdentityProvider();
var userAccess = identityProvider.Authenticate(Cloudidentity);
return userAccess;
}
}
private static CloudIdentity Cloudidentity
{
get
{
var ci = new CloudIdentity
{
APIKey = RackSpaceUserApiKey,
Username = RackSpaceUserName
};
return ci;
}
}
static void Main(string[] args)
{
var ParkedDomain = new CloudDnsProvider(Cloudidentity, null, true, null);
List<DnsDomainRecordConfiguration> dnsrecords = new List<DnsDomainRecordConfiguration>();
dnsrecords.Add(new DnsDomainRecordConfiguration(DnsRecordType.Ns, "testdomain.com", "dns1.stabletransit.com", TimeSpan.FromMinutes(20), null, null));
dnsrecords.Add(new DnsDomainRecordConfiguration(DnsRecordType.Ns, "testdomain.com", "dns2.stabletransit.com", TimeSpan.FromMinutes(20), null, null));
List<DnsSubdomainConfiguration> subdomains = new List<DnsSubdomainConfiguration>();
subdomains.Add(new DnsSubdomainConfiguration("info@testdomain.com", "test", ""));
DnsDomainConfiguration dnsd = new DnsDomainConfiguration("testdomain.com", TimeSpan.FromMinutes(20), "info@testdomain.com", "", dnsrecords, subdomains);
DnsConfiguration dnsconfig = new DnsConfiguration(dnsd);
var result = ParkedDomain.CreateDomainsAsync(dnsconfig, AsyncCompletionOption.RequestCompleted, CancellationToken.None, null);
Console.Write(result.Status);
Console.ReadLine();
}
result.Status的值始終返回“ WaitingForActivation”,當我檢查機架雲dns儀表板時,不會創建任何域。
任何幫助將不勝感激。
DNS服務使用異步方法。 CreateDomainsAsync
返回的對象是一個Task
,代表異步操作,但是該操作可能在調用返回之前未完成。 您可以通過以下任一方法等待代碼中的請求完成:
等待結果(僅在async
方法中允許,而Main
不可以)。
await result;
訪問Task<TResult>.Result
屬性。
var completedResult = result.Result;
調用Task.Wait
方法。
result.Wait();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.