文档首页 > > API参考> 快速入门

快速入门

分享
更新时间: 2019/10/18 GMT+08:00

本节通过调用一系列API,以集群管理为例,介绍使用CS API的基本流程。集群管理的流程如下:

  1. 调用Token认证获取用户的token,因为在后续的请求中需要将token放到请求消息头中作为认证,详情请参见认证鉴权
  2. 调用新建SQL作业接口,通过POST方式,提交流式SQL作业,详情请参见新建SQL作业
  3. 调用运行作业接口,详情请参见运行作业
  4. 调用查询作业列表接口,获取作业信息,详情请参见查询作业列表
  5. 调用停止作业接口,详情请参见停止作业

前提条件

集群管理

假设已获取前提条件中的信息为如下值(实际操作中您需要根据实际情况替换):

  • IAM的Endpoint:下面示例中以iam_endpoint代替。
  • CS的Endpoint:下面示例中以cs_endpoint代替。
  • 项目编号:9bc552e6-19af-4326-800d-281a92984636

则可以通过如下步骤管理集群。

  1. 调用其他接口前,首先需要获取token认证,并设置成环境变量。

    curl -H "Content-Type:application/json" https://{iam_endpoint}/v3/auth/tokens -X POST -d '{ 
        "auth": { 
            "identity": { 
                "methods": [ 
                    "password" 
                ], 
                "password": { 
                    "user": { 
                        "name": "testname", 
                        "domain": { 
                            "name": "testname" 
                        }, 
                        "password": "Passw0rd" 
                    } 
                } 
            }, 
            "scope": { 
                "project": { 
                    "name": "cn-north-1" 
                   
                    
                     
                } 
            } 
        } 
    }' -v -k
    1. 获取响应Header中“X-Subject-Token”的值即为“Token”,示例如下。
      X-Subject-Token:MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...
    2. 使用如下命令将token设置为环境变量。

      export Token={X-Subject-Token}

      “X-Subject-Token”即为上一步骤获取到的token,示例如下。

      export X-Auth-Token=MIIDkgYJKoZIhvcNAQcCoIIDgzCCA38CAQExDTALBglghkgBZQMEAgEwgXXXXX...

  2. 调用新建SQL作业接口。

    curl -X POST -H 'Content-Type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '
    {
        "name": "my job",
        "desc": "这是个做字符记数的作业",
        "sql_body": "select * from source_table",
        "run_mode": "shared_cluster",
        "spu_number": 1,
        "parallel_number": 1,
        "checkpoint_enabled": false,
        "checkpoint_mode": "exactly_once",
        "checkpoint_interval": 0,
        "log_enabled": false
    }' https://{cs_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/sql_job -v -k

    获取响应如下所示。

    STATUS CODE 200 
    {
        "message_id": "CS.12000",
        "message": "创建Stream 作业成功",
        "payload": {
            "job_id": 50320,
            "status_name": "job_init",
            "status_desc": ""
        },
        "current_time": 1533686888000
    }

  3. 调用运行作业接口。

    curl -X POST -H 'Content-Type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" -d '[50320]
    ' https://{cs_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/job/run -v -k

    获取响应如下所示。

    STATUS CODE 200 
    {
        "message_id": "CS.12000",
        "message": "创建Stream作业成功",
        "payload": {
            "job_id": 50320,
            "status_name": "job_init",
            "status_desc": ""
        },
        "current_time": 1533686888000
    }

  4. 调用查询作业列表接口,获取作业信息。

    curl -X GET -H 'Content-Type:application/json;charset=utf-8' -H "X-Auth-Token:$Token" https://{cs_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/jobs -k –v

    获取响应如下所示:

    {
        "message_id": "CS.23000",
        "message": "作业列表查询成功",
        "payload": {
            "total": 1,
            "jobs": [
                {
                    "job_id": 50320,
                    "user_id": "ac4eaa303639409c8ab099d55eb1538e",
                    "cluster_id": 100000,
                    "project_id": "5a3314075bfa49b9ae360f4ecd333695",
                    "name": "my job",
                    "desc": "这是个做字符记数的作业",
                    "sql_body": "",
                    "run_mode": "shared_cluster",
                    "job_type": "flink_jar_job",
                    "spu_number": 1,
                    "parallel_number": 1,
                    "job_config": {
                        "checkpoint_enabled": false,
                        "checkpoint_interval": 10,
                        "checkpoint_mode": "exactly_once",
                        "log_enabled": false
                    },
                    "status": "job_running",
                    "status_desc": "",
                    "create_time": 1516952710040,
                    "update_time": 1516952770835
                }
            ]
        },
        "current_time": 1533686888000
    }

    status的状态如果为“job_submitting”,则表示作业正处于提交中;若为“job_running”则表示作业运行中。

  5. 调用停止作业接口。

    curl -X POST -H "Content-Type:application/json" -H "X-Auth-Token:$Token"  -d '[50320]'
     https://{cs_endpoint}/v1.0/9bc552e6-19af-4326-800d-281a92984636/job/stop -k -v

    获取响应如下所示:

    [ {   "message_id": "CS.16000",   "message": "Stream 作业停止成功",   "current_time": 1533686888000 } ]

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问