Garth J Lancaster
Вы можете попробовать их API - хорошо документированный События[^]
Предположим, что ваши данные о событиях находятся в формате JSON и выглядят следующим образом
{
"aggregation_key": "string",
"alert_type": "info",
"date_happened": "integer",
"device_name": [],
"host": "string",
"priority": "normal",
"related_event_id": "integer",
"source_type_name": "string",
"tags": [
"environment:test"
],
"text": "Oh boy!",
"title": "Did you hear the news today?"
}
Вы могли бы использовать RestSharp
RestSharp[
^] , или более простой код, например
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.datadoghq.com/api/v1/events");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
httpWebRequest.Headers["DD-API-KEY"] = "the-value"; // or httpWebRequest.Headers.Add("DD-API-KEY", "the-api-key-value")
httpWebRequest.Headers["DD-APPLICATION-KEY] = "the-value"; // or httpWebRequest.Headers.Add("DD-APPLICATION-KEY", "the-application-key-value")
// HTTPS
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{...your event data here...}";
streamWriter.Write(json);
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
Mohammad Nawaz
Привет @Garth,
Спасибо за ваш ответ, но он показывает, чтобы публиковать данные о событиях. Но мое требование заключается в том, что я должен вызвать сторонний API, и он возвращает некоторые данные, так как же я могу показать эти данные в метриках или графическом представлении из моей службы windows.
Garth J Lancaster
Я почти уверен, что ответил вам на вопрос: "Привет, я хочу отправить данные в datadog API, у меня есть ключ datadog API, но я не знаю, как отправить данные из моего оконного сервиса в c#" ... если вы хотите сейчас сделать GET для получения данных, вам нужно изменить часть кода
httpWebRequest.Method = "POST";
и
удалить
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{...your event data here...}";
streamWriter.Write(json);
}
Затем вам нужно будет прочитать ссылку API trhe DataDog и посмотреть, как отформатировать запрос - т. е. это "https://api.datadoghq.com/api/v1/events" будет по-другому