You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过API调用触发Argo Workflows?API实现与调用方法咨询

解决Argo Workflows API调用返回"Not Implemented"的问题

1. 核心问题:API端点路径错误

你尝试的几个API路径均不符合Argo Workflows的标准REST API规范,这是触发Not Implemented错误的直接原因。

2. 正确的API端点

Argo Workflows官方REST API中,创建Workflow的POST端点有两种常用形式:

  • 若对接Argo Server(推荐,与UI同服务):
    https://workflows.companyName-eap.net/api/v1/workflows/inte-tsopbms
    
  • 若直接对接Kubernetes原生API(需K8s认证权限):
    https://workflows.companyName-eap.net/apis/argoproj.io/v1alpha1/namespaces/inte-tsopbms/workflows
    

3. 修正后的curl请求示例

基于你的代码,适配Argo Server API的修正版本如下:

curl --request POST \
  --url https://workflows.companyName-eap.net/api/v1/workflows/inte-tsopbms \
  --header 'content-type: application/json' \
  # 若Argo启用认证,需添加Authorization头(从UI右上角头像菜单复制token)
  # --header 'Authorization: Bearer YOUR_ARGO_AUTH_TOKEN' \
  --data '{
  "metadata": {
    "generateName": "hello-world-",
    "namespace": "inte-tsopbms",
    "labels": {
      "workflows.argoproj.io/completed": "false"
     }
  },
  "spec": {
    "templates": [
      {
        "name": "whalesay",
        "container": {
          "image": "docker/whalesay:latest",
          "command": ["cowsay"],
          "args": ["hello world"]
        }
      }
    ],
    "entrypoint": "whalesay"
  }
}'

说明:原请求中顶层的namespace和serverDryRun字段属于K8s API的请求参数,Argo Server API直接接受Workflow对象,因此可移除这两个字段。

4. 关键补充:认证处理

从你提供的UI访问地址判断,你的Argo实例大概率启用了认证:

  1. 登录Argo UI,从右上角头像下拉菜单中选择"Copy Token"获取认证令牌
  2. 将令牌添加到curl请求的Authorization头中,格式为Bearer <你的令牌>

5. 验证端点有效性

可通过GET请求先确认端点是否正常:

curl --url https://workflows.companyName-eap.net/api/v1/workflows/inte-tsopbms \
  --header 'Authorization: Bearer YOUR_ARGO_AUTH_TOKEN'

若返回该namespace下的Workflow列表,说明端点配置正确。


内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 11:15:42