2015-10-24 1 views
1

Есть ли способ получить Хостинговую зону по доменному имени?AWS Route 53 - Получить зону с доменным именем?

Я думал, что использовать listHostedZonesByName ('pagefoo.io') будет делать трюк, но он возвращает несвязанные результаты: pagefoo.net, pagefoo.org, а не просто pagefoo.io.

Array 
(
    [0] => Array 
     (
      [Id] => /hostedzone/XXXXXXXXXXXX 
      [Name] => pagefoo.io. 
      [CallerReference] => XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 
      [Config] => Array 
       (
        [PrivateZone] => 
       ) 

      [ResourceRecordSetCount] => 5 
     ) 

    [1] => Array 
     (
      [Id] => /hostedzone/XXXXXXXXXXXX 
      [Name] => pagefoo.net. 
      [CallerReference] => XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 
      [Config] => Array 
       (
        [PrivateZone] => 
       ) 

      [ResourceRecordSetCount] => 6 
     ) 

    [2] => Array 
     (
      [Id] => /hostedzone/XXXXXXXXXXXX 
      [Name] => pagefoo.org. 
      [CallerReference] => XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 
      [Config] => Array 
       (
        [PrivateZone] => 
       ) 

      [ResourceRecordSetCount] => 4 
     ) 

) 

ответ

0

Использование интерфейса route53 AWS-Cli, я назвал list-hosted-zones-by-name. Он вернул все мои зоны.

$ aws route53 list-hosted-zones-by-name 
{ 
    "HostedZones": [ 
     (lots of output here) 
    ], 
    "IsTruncated": false, 
    "MaxItems": "100" 
} 

Затем я добавил --dns-name domain.com в запросе, и он вернул один результат, как я ожидал:

$ aws route53 list-hosted-zones-by-name --dns-name domain.com 
{ 
    "HostedZones": [ 
     { 
      "ResourceRecordSetCount": 7, 
      "CallerReference": "12345abcde", 
      "Config": { 
       "Comment": "HostedZone created by Route53 Registrar", 
       "PrivateZone": false 
      }, 
      "Id": "/hostedzone/AABBCCDD", 
      "Name": "domain.com." 
     } 
    ], 
    "DNSName": "domain.com", 
    "IsTruncated": false, 
    "MaxItems": "100" 
} 

Вы не сказали, какой язык вы используете, но звонки все похожи, так как это ответ API. Если вам нужна помощь с определенным SDK, вы должны указать язык и код для его вызова. Но предполагается, что ваш выход от Javascript, it looks like this is the proper call:

route53.listHostedZonesByName({ DNSName: 'domain.com' }, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
}); 
+0

Да, это именно то, что я пытаюсь, в PHP: $ результат = $ this-> route53-> listHostedZonesByName ([ 'DNSName' => «pagefoo. io ']); Но он возвращает подмножество моих размещенных зон вместо одного. Думаю, я не понимаю, как эта команда работает. – boblapointe

+0

Кажется, что AWS чего-то не хватает, но этот api можно использовать несколькими способами. Если вы ищете доменное имя с максимальным количеством единиц 1, оно вернет тот, который вы хотите; или если он не существует, он вернется ... что-то еще. Если вам нужно сказать, существует ли он, просто сравните то, что было возвращено с тем, что вы просили. – DGM

Смежные вопросы