2014-04-18 142 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) –