Я могу успешно запустить следующий код на своем ноутбуке с общедоступным Wi-Fi.
const {Logging} = require('@google-cloud/logging');
let storageOptions = {
projectId: 'project-01',
keyFilename: 'mykey-c4426ff28f95.json'
};
const logging = new Logging(storageOptions);
const options = {
filter: 'resource.type="global" timestamp >= "2019-09-12T14:41:40+08:00"'
};
async function getLog(){
const [entries] = await logging.getEntries(options);
entries.forEach(entry => {
const metadata = entry.metadata;
console.log(`${metadata.timestamp}:`, metadata[metadata.payload]);
});
return 'success';
}
getLog().then(msg=>{console.log(msg);process.exit(0);}).catch(err=>{
console.log('list file error: '+err);
process.exit(1);
});
Но когда я поместил тот же код на сервер своей компании, он ожидал и ответа не было.
Я думаю, что это проблема с прокси, поэтому я попытался решить ее следующими способами:
Время выполнения с прокси
https_proxy="http://proxy.mycompany.com:8000" node testLogging.js
Установить переменную среды
export https_proxy="http://proxy.mycompany.com:8000"
К сожалению, оба вышеперечисленных не могут решить проблему, и я не могу найти ответ в Google.
ps Я пробовал команду wget на сервере моей компании, API возвращает ответ 403, так что яПредположим, что прокси работает нормально.
wget -e use_proxy=yes -e https_proxy=proxy.mycompany.com:8000 -O test.html --no-check-certificate --post-data '' https://logging.googleapis.com/v2/entries:list
Подскажите, пожалуйста, как вызвать Logging API за прокси-сервером.
Спасибо!