Используя скрипт приложений, мне нужно удалить журналы Stackdriver определенного проекта Google Cloud. Это должно быть возможно сделать с помощью скрипта приложений и REST API облачного журналирования, используя запрос DELETE
. Скрипт приложений UrlFetchApp.fetch(url,options)
может использовать метод DELETE
. Приведенный ниже код возвращает код ответа: 404. Раньше я получал код ответа: 400, но теперь он принимает структуру URL-адреса, но не может найти URL-адрес. Если для URL-адреса требуется идентификатор журнала, я не уверен, где его взять. Я хочу удалить все журналы в проекте, а не только один.
Сообщение об ошибке:
The requested URL was not found on this server.
Код:
function deleteStackDriverLogs(po) {
var httpRz,options,url;
/*
po.id = GCP project ID - https://console.cloud.google.com/home/dashboard
*/
options = {};
options.method = "delete";
options.muteHttpExceptions = true;
options.headers = {Authorization: 'Bearer ' + ScriptApp.getOAuthToken()};
options.contentType = "application/json";
url = 'https://logging.googleapis.com/v2/';
options.payload = JSON.stringify({
logName: 'projects/' + po.id + "/logs/*"
});
httpRz = UrlFetchApp.fetch(url,options);
Logger.log('response code: ' + httpRz.getResponseCode());
//Logger.log('httpRz.getAllHeaders(): ' + JSON.stringify(httpRz.getAllHeaders()))
//Logger.log(httpRz.getContentText())
}
function testDlet() {
deleteStackDriverLogs({"id":"project-id-your-GCP-id-here"});
}
Документация: https://cloud.google.com/logging/docs/reference/v2/rest/v2/logs/delete
Если используется только URL-адрес без полезных данных, я получаю код ответа 404 без объяснения причин.
Я пробовал много вариантов URL-адреса.
url = 'https://logging.googleapis.com/v2/logName={projects/' + po.id + '}';//404
url = 'https://logging.googleapis.com/v2/logName=projects/' + po.id + '/';//404
url = 'https://logging.googleapis.com/v2/logName=projects/' + po.id;//404
url = 'https://logging.googleapis.com/v2/logName=projects/' + po.id + '/logs/*/';//400
url = 'https://logging.googleapis.com/v2/logName=projects/' + po.id + '/logs/';//404
В документации указано, что идентификатор журнала должен быть закодирован в URL. Но я не уверен, что использовать для идентификатора журнала.