所有Datadog公共端点的集合
项目描述
datadog-api-client-python
此存储库包含用于Datadog API的Python API客户端。
需求
构建和使用API客户端库需要Python 3.7+。
安装
要安装API客户端库,请执行以下操作
pip install datadog-api-client
入门
请按照安装说明执行以下Python代码
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v1.api.monitors_api import MonitorsApi
from datadog_api_client.v1.model.monitor import Monitor
from datadog_api_client.v1.model.monitor_type import MonitorType
body = Monitor(
name="example",
type=MonitorType("log alert"),
query='logs("service:foo AND type:error").index("main").rollup("count").by("source").last("5m") > 2',
message="some message Notify: @hipchat-channel",
tags=["test:example", "env:ci"],
priority=3,
)
configuration = Configuration()
with ApiClient(configuration) as api_client:
api_instance = MonitorsApi(api_client)
response = api_instance.create_monitor(body=body)
print(response)
身份验证
默认情况下,库将使用DD_API_KEY
和DD_APP_KEY
环境变量对Datadog API进行身份验证。要提供自己的凭据集,您需要在配置中设置一些密钥
configuration.api_key["apiKeyAuth"] = "<API KEY>"
configuration.api_key["appKeyAuth"] = "<APPLICATION KEY>"
不稳定端点
此客户端包括对处于不稳定状态的Datadog API端点的访问,并且可能进行破坏性更改。需要额外的配置步骤才能启用这些端点
configuration.unstable_operations["<OperationName>"] = True
其中<OperationName>
是与该端点交互的方法的名称。例如:list_log_indexes
或get_logs_index
更改服务器
当与不同的服务器(如 eu
实例)通信时,更改配置对象上的 server_variables
configuration.server_variables["site"] = "datadoghq.eu"
禁用压缩有效载荷
如果您想禁用 GZIP 压缩响应,请将配置对象上的 compress
标志设置为
configuration.compress = False
启用请求日志记录
如果您想启用请求日志记录,请将配置对象上的 debug
标志设置为
configuration.debug = True
启用重试
如果您想在收到状态码 429
速率限制时启用重试,请将 enable_retry
设置为 True
configuration.enable_retry = True
默认最大重试次数为 3
,您可以使用 max_retries
来更改它
configuration.max_retries = 5
配置代理
您可以通过在配置对象上设置 proxy
键来配置客户端使用代理
configuration.proxy = "http://127.0.0.1:80"
线程支持
您可以通过使用 ThreadedApiClient
替代 ApiClient
来在线程中运行 API 调用。然后,API 调用将返回一个 AsyncResult
实例,您可以在该实例上调用 get 以检索结果
from datadog_api_client import Configuration, ThreadedApiClient
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
configuration = Configuration()
with ThreadedApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
result = api_instance.list_dashboards()
dashboards = result.get()
print(dashboards)
Asyncio 支持
当使用 AsyncApiClient
进行传输时,该库支持异步操作。当使用该客户端时,API 方法将返回协程,您可以在其中等待。
要使异步支持可用,您需要在安装期间安装额外的 async
限定符: pip install datadog-api-client[async]
。
import asyncio
from datadog_api_client import Configuration, AsyncApiClient
from datadog_api_client.v1.api.dashboards_api import DashboardsApi
async def main():
configuration = Configuration()
async with AsyncApiClient(configuration) as api_client:
api_instance = DashboardsApi(api_client)
dashboards = await api_instance.list_dashboards()
print(dashboards)
asyncio.run(main())
分页
一些列出操作有分页方法,可以帮助消耗所有可用的项目。例如,检索所有事件
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.incidents_api import IncidentsApi
configuration = Configuration()
configuration.unstable_operations["list_incidents"] = True
with ApiClient(configuration) as api_client:
api_instance = IncidentsApi(api_client)
for incident in api_instance.list_incidents_with_pagination():
print(incident.id)
API 端点和模型的文档
API 端点和模型的文档可在 readthedocs 上找到。
授权文档
通过在配置中提供您的 API 和应用程序密钥进行 API 认证
configuration.api_key["apiKeyAuth"] = "YOUR_API_KEY"
configuration.api_key["appKeyAuth"] = "YOUR_APPLICATION_KEY"
作者
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分发
构建分发
datadog_api_client-2.29.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d28dd671c67ae424c4a5806e4f9ae0db384b80d8ef6d79e48a9250602f0d968d |
|
MD5 | 99625961712dc3824e029f455a297614 |
|
BLAKE2b-256 | b2fad913f2201b4c441e0111f51709cd87d7f8389737986424a3f0b512fb8a2a |
datadog_api_client-2.29.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ea5968f583bbe489799c3d3f02b788ce1a12816baf98ad93ff4f5d9328211d7f |
|
MD5 | 7baedf18b3b0c6e83cd5c4983b7c4e9b |
|
BLAKE2b-256 | 95540005546f4fc0b3ee4b15e6f1e98b8afc6ee9bdd48220a196ffb38b8f01b3 |