从Cloud Function中的Node的DNS模块调用dns.resolveTxt()时遇到问题(在Node6和Node8上都尝试过)
我正在使用一个启用了计费功能的帐户(Blaze计划上的Firebase),并且dns.lookup()调用按预期工作,因此,我认为这与阻止对外部域的调用无关。
示例代码:
var dns = require('dns');
dns.resolveTxt('google.com', function (err, addresses) {
console.log(addresses, err);
});
在本地运行时返回正确的结果:
[ [ 'docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e' ],
[ 'facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95' ],
[ 'v=spf1 include:_spf.google.com ~all' ] ] null
在Cloud Function中执行时,返回以下错误:
{ Error: queryTxt ESERVFAIL google.com
at QueryReqWrap.onresolve [as oncomplete] (dns.js:213:19)
errno: 'ESERVFAIL',
code: 'ESERVFAIL',
syscall: 'queryTxt',
hostname: 'google.com'
}