#datadog #api-client #openapi

datadog-api-client

Datadog API的Rust客户端

6个版本 (3个重大更新)

0.3.0 2024年8月12日
0.2.0 2024年8月1日
0.1.3 2024年7月1日
0.0.3 2024年5月22日
0.0.1 2024年3月28日

#86 in HTTP客户端

Download history 2/week @ 2024-04-22 144/week @ 2024-05-20 10/week @ 2024-06-03 15/week @ 2024-06-10 2/week @ 2024-06-24 568/week @ 2024-07-01 5035/week @ 2024-07-08 660/week @ 2024-07-15 40/week @ 2024-07-22 738/week @ 2024-07-29 164/week @ 2024-08-05

每月1,633次下载

Apache-2.0

14MB
313K SLoC

Datadog API客户端

Rust HTTP客户端,用于访问Datadog API。

要提交支持或功能请求,请访问 https://www.datadoghq.com/support/

概述

此API客户端是根据Datadog的公共OpenAPI规范生成的。生成代码和模板可以在仓库的 .generator/ 文件夹中找到。

安装

运行 cargo add datadog-api-client 或将以下内容添加到 Cargo.toml 中的 [dependencies]

datadog-api-client = "0"

入门

请遵循 安装说明,并尝试以下代码片段以验证您的Datadog API密钥

use datadog_api_client::datadog::Configuration;
use datadog_api_client::datadogV1::api_authentication::AuthenticationAPI;

#[tokio::main]
async fn main() {
    let configuration = Configuration::new();
    let api = AuthenticationAPI::with_config(configuration);
    let resp = api.validate().await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

每个可调用端点的示例代码片段可以在仓库的 /examples/ 目录中找到。

身份验证

默认情况下,库将使用 DD_API_KEYDD_APP_KEY 环境变量对Datadog API进行身份验证。
要提供您自己的凭据集,您需要在配置上设置一些键

configuration.set_auth_key(
    "apiKeyAuth",
    APIKey {
        key: "<DD-API-KEY>".to_string(),
        prefix: "".to_owned(),
    },
);
configuration.set_auth_key(
    "appKeyAuth",
    APIKey {
        key: "<DD-APP-KEY>".to_string(),
        prefix: "".to_owned(),
    },
);

不稳定的端点

此客户端包括对Datadog API端点的访问,这些端点处于不稳定状态,可能进行破坏性更改。使用这些端点需要额外的配置步骤

configuration.set_unstable_operation_enabled("<OPERATION_NAME>", true)

其中 <OPERATION_NAME> 是用于与该端点交互的API版本和方法名称。例如:v2.list_incidents,或 v2.query_timeseries_data

可选功能

  • native-tls默认启用):使用 native-tls crate 启用TLS功能。
  • rustls-tls:使用替代的 rustls crate 启用TLS功能。

贡献

由于本仓库中的大部分代码都是自动生成的,我们只接受那些没有被我们的代码生成工具修改的文件的PR(对生成文件的更改将被覆盖)。我们很高兴接受对非自动生成的文件的贡献,例如测试和开发工具。

作者

[email protected]

依赖项

~9–26MB
~355K SLoC