2014-04-18 73 views
1

是否有一项政策可以在Apigee中启用DNS查找?我已经阅读了文档和教程,并没有遇到一个解决方案。Apigee中是否有DNS查询策略?

+0

任何理由需要只DNS查找的策略? –

+0

用例如下:JavaScript中有一个从一个API代理到另一个为服务配置的API代理的标注。根据响应(其中包含一个URL),处理完成并覆盖第一个API代理中的target.url,以将呼叫路由到正确的主机。如果出现故障,则需要进行DNS查找以获取第二个API代理所达到的目标端点的IP,并且这将用于重写第一个API中的target.url。 –

回答

4

你可以做标注来statdns.com,并得到一个JSON有效载荷回:

http://api.statdns.com/{domain name}/a 

例如:

http://api.statdns.com/apigee.com/a 

{ 
"question": [ 
    { 
     "name": "apigee.com.", 
     "type": "A", 
     "class": "IN" 
    } 
], 
"answer": [ 
    { 
     "name": "apigee.com.", 
     "type": "A", 
     "class": "IN", 
     "ttl": 60, 
     "rdlength": 4, 
     "rdata": "184.72.221.111" 
    } 
], 
"authority": [ 
    { 
     "name": "apigee.com.", 
     "type": "NS", 
     "class": "IN", 
     "ttl": 86400, 
     "rdlength": 20, 
     "rdata": "ns3.p25.dynect.net." 
    }, 
    { 
     "name": "apigee.com.", 
     "type": "NS", 
     "class": "IN", 
     "ttl": 86400, 
     "rdlength": 6, 
     "rdata": "ns4.p25.dynect.net." 
    }, 
    { 
     "name": "apigee.com.", 
     "type": "NS", 
     "class": "IN", 
     "ttl": 86400, 
     "rdlength": 6, 
     "rdata": "ns1.p25.dynect.net." 
    }, 
    { 
     "name": "apigee.com.", 
     "type": "NS", 
     "class": "IN", 
     "ttl": 86400, 
     "rdlength": 6, 
     "rdata": "ns2.p25.dynect.net." 
    } 
    ] 
} 
1

没有简单执行DNS查找的策略。在Apigee的付费版本中,可以使用简单的JavaCallout进行构建。

+0

请你能指点我一个如何做到这一点的例子吗?我可以访问Apigee的付费版本。 –

+0

取决于您是否需要指向特定的DNS服务器。如果有任何DNS服务器可以满足您的需要,您可以使用下面的Michael B.的示例和公共DNS API。在java中,不需要指定名称服务器,可以使用InetAddress类使用Apigee配置为使用的名称服务器进行查找。 - http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html#getByName(java.lang.String) –