我们目前在一个天文学家云实例上运行气流dag,我们正在尝试开发最终触发这些dag的外部功能。
参考此文档→向气流REST API发出请求|天文学家文档
调用API意味着发送一个HTTP请求到:https://[AIRFLOW-DOMAIN]/api/v1/[要调用的方法][AIRFLOW-DOMAIN]:使用https://[your-base-domain]/[deployment-release-name]
。https://gcpXXXY.us-east4.astronomer.io/gravitational-flux-XXXX/api/v1/pools
不确定是否有必要,但也设置了一个环境变量AIRFLOW__API__AUTH_BACKEND = airflow_api .auth.backend.default
问题是,而不是得到200或401或403响应,我们总是得到一些HTML像下面当测试API调用通过邮差应用程序。当检查HTML在浏览器中,它基本上是一个404页面见截图
我错过了什么?提前感谢!
<!DOCTYPE html>
<html>
<head>
<meta name=“robots” content=“noindex”>
<!-- Environment variables injected from NGINX —>
.
.
.
<meta http-equiv=“X-UA-Compatible” content=“IE=edge” />
<meta charset=“utf-8”>
<title>Astronomer
.
.
</head>
<body>
<div id=“root”>
<script src="/assets/runtime.82af4b31.js">
<script src="/assets/2.36213ffe.js">
<script src="/assets/index.b05feb43.js">
</body>
</html>
您需要首先检索访问令牌。
curl --location --request POST "https://auth.astronomer.io/oauth/token"
--header "content-type: application/json"
--data-raw '{
"client_id": "<api-key-id>",
"client_secret": "<api-key-secret>",
"audience": "astronomer-ee",
"grant_type": "client_credentials"}'
你可以使用这个令牌(24小时到期)并在你的天文学家实例上调用气流API。
curl -X GET <your-deployment-url>/api/v1/dags
-H 'Cache-Control: no-cache'
-H 'Authorization: Bearer <your-access-token>'
更多信息可在这里找到:https://docs.astronomer.io/astro/airflow-api