Я столкнулся с проблемой при вызове dns.resolveTxt () из модуля DNS узла в облачной функции (пробовал как на Node6, так и на Node8)
Я использую учетную запись с включенным биллингом (план Firebase на Blaze), и вызовы 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
При выполнении в облачной функции возвращается следующая ошибка:
{ Error: queryTxt ESERVFAIL google.com
at QueryReqWrap.onresolve [as oncomplete] (dns.js:213:19)
errno: 'ESERVFAIL',
code: 'ESERVFAIL',
syscall: 'queryTxt',
hostname: 'google.com'
}