阿里云百炼大模型平台-自定义插件接口协议报错排查方案

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,5000CU*H 3个月
简介: 阿里云百炼大模型平台-自定义插件接口协议报错排查方案

1. 原始openapi specification

openapi: 3.0.1
info:
    title: 小助手
    description: 根据用户输入信息,进行测试
    version: "v2"
servers:
    - url: https://aaa.bbb.com/api/forward
components:
    responses:
        UError:
            description: Bearer token缺失或无效
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 401
                            message:
                                type: string
                                example: "接口权限校验失败"
        SunError:
            description: 业务异常
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 0
                            message:
                                type: string
                                example: "业务异常"
paths:
    /forward:
        post:
            operationId: aaa
            summary: 根据用户输入信息,进行测试
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            required: [server_flag, server_dir, params]
                            properties:
                                server_flag:
                                    type: string
                                    description: descaaabbbccc
                                    example: "testddd"
                                server_dir:
                                    type: string
                                    description: descddd
                                    example: "Aaaa.bbbb"
                                params:
                                    type: object
                                    description: 第三方所需参数
                                    properties:
                                        clntManagerId:
                                            type: string
                                            description: col1
                                            example: "0d06099fed39eb683782fa104dd33998"
                                        cumerName: 
                                            type: string
                                            description: col2
                                            example: "xxx"
                                        cumerPhone:
                                            type: string
                                            description: col3
                                            example: "123123123"
                                        dlerCode: 
                                            type: string
                                            description: col4
                                            example: "8f52d344eab7fec87e1bb168898ba494"
                                        proctSeries:
                                            type: string
                                            description: col5
                                            example: "D"
                                        rerveTime: 
                                            type: string
                                            description: col6
                                            example: "2024-06-21 15:30"
            responses:
                "200":
                    description: 成功
                    content:
                        application/json:
                            schema:
                                type: object
                                required: [code, message, data]
                                properties:
                                    code:
                                        type: integer
                                        example: 200
                                    message:
                                        type: string
                                        example: "ok"
                                    data:
                                        type: object
                                        properties:
                                            CODE:
                                                type: integer
                                                example: 200
                                            DATA:
                                                type: object
                                                properties:
                                                    eventId:
                                                        type: string
                                                        example: "062e0xxx71a1dde"
                                                eventId:
                                                    type: string
                                                    example: "cdce6xxx13123"
                                            RESULT:
                                                type: string
                                                example: ""
                '401':
                    $ref: '#/path1/path2/U1Error'
                '0':
                    $ref: '#/path1/path2/SuError'

2. 报错

INVALID PARAMETER: apiScheme definition is invalid

3. 排查过程

参考文档排查具体报错:https://editor.swagger.io/

  1. 右侧有这个配置文件具体的报错情况,点击具体报错可以跳转到具体行。第一个可以明显看出74行有个中文冒号,key的颜色都没有匹配上,改成英文冒号后正常

image.png

  1. 修改后可以看到第二个报错,点击跳转后可以到具体报错的地方,这里是仅支持三位的状态码,配置文件中有个状态码是“0”,改成“400”后正常

image.png

  1. 继续修改后可以看到后面的报错,如下路径(可以直接点击跳转到DATA)下,有个名为“eventId”的额外的配置项是不被允许的,仔细看发现配置在properties里面的eventId应该是粘贴重复且层级错误了,去掉后正常。

image.png

  1. 具体状态码的ref需要时文件中已经配置合法的location,这里需要改成对应的如:'#/components/responses/UError'

image.png

4. 修改后的openapi specification

openapi: 3.0.1
info:
    title: 小助手
    description: 根据用户输入信息,进行测试
    version: "v2"
servers:
    - url: https://aaa.bbb.com/api/forward
components:
    # securitySchemes:
    #     BearerAuth:
    #         type: http
    #         scheme: bearer
    #         bearerFormat: JWT
    responses:
        UError:
            description: Bearer token缺失或无效
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 401
                            message:
                                type: string
                                example: "接口权限校验失败"
        SunError:
            description: 业务异常
            content:
                application/json:
                    schema:
                        type: object
                        properties:
                            code:
                                type: integer
                                example: 0
                            message:
                                type: string
                                example: "业务异常"
paths:
    /forward:
        post:
            operationId: aaa
            summary: 根据用户输入信息,进行测试
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            required: [server_flag, server_dir, params]
                            properties:
                                server_flag:
                                    type: string
                                    description: descaaabbbccc
                                    example: "testddd"
                                server_dir:
                                    type: string
                                    description: descddd
                                    example: "Aaaa.bbbb"
                                params:
                                    type: object
                                    description: 第三方所需参数
                                    properties:
                                        clntManagerId:
                                            type: string
                                            description: col1
                                            example: "0d06099fed39eb683782fa104dd33998"
                                        cumerName: 
                                            type: string
                                            description: col2
                                            example: "xxx"
                                        cumerPhone:
                                            type: string
                                            description: col3
                                            example: "123123123"
                                        dlerCode: 
                                            type: string
                                            description: col4
                                            example: "8f52d344eab7fec87e1bb168898ba494"
                                        proctSeries:
                                            type: string
                                            description: col5
                                            example: "D"
                                        rerveTime: 
                                            type: string
                                            description: col6
                                            example: "2024-06-21 15:30"
            responses:
                "200":
                    description: 成功
                    content:
                        application/json:
                            schema:
                                type: object
                                required: [code, message, data]
                                properties:
                                    code:
                                        type: integer
                                        example: 200
                                    message:
                                        type: string
                                        example: "ok"
                                    data:
                                        type: object
                                        properties:
                                            CODE:
                                                type: integer
                                                example: 200
                                            DATA:
                                                type: object
                                                properties:
                                                    eventId:
                                                        type: string
                                                        example: "062e0xxx71a1dde"
                                            RESULT:
                                                type: string
                                                example: ""
                '401':
                    $ref: '#/components/responses/UError'
                '400':
                    $ref: '#/components/responses/SunError'
相关文章
|
3天前
|
安全 API 持续交付
阿里云云效产品使用问题之如何从流水线访问内网平台的HTTP接口
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2天前
|
人工智能 运维 自然语言处理
阿里云百炼
阿里云百炼支持多语言模型,适用于不同问答场景。初始内置问答基础上,用户可上传文档定制应用,针对每个项目“投喂”特定知识,优化答案检索,降低运维成本。模型管理允许关联不同知识库和设置敏感词以保护隐私。计费依据模型类型,大语言模型按Input和Output Token数,语音识别按时长计费。输入和输出分别计费,考虑资源消耗差异。
11 2
|
3天前
|
敏捷开发 缓存 Java
阿里云云效产品使用问题之自动化规则执行超时可以如何排查问题
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3天前
|
缓存 弹性计算 Java
阿里云云效产品使用问题之怎么设置自定义步骤为公开
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3天前
|
敏捷开发 弹性计算 Kubernetes
阿里云云效产品使用问题之自定义新的编排文件该怎么操作
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3天前
|
存储 JavaScript 前端开发
阿里云云效操作报错合集之如何解决云效流水线内存溢出的问题
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
3天前
|
Java Devops API
阿里云云效操作报错合集之云效页面提示数据库保存不进去,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
3天前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用问题之流水线如何在运行过程中设置(或者说是变更)自定义环境变量
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3天前
|
网络安全 开发工具 git
阿里云云效操作报错合集之已经使用了lfs,出现报错,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
3天前
|
Devops 网络安全 Go
阿里云云效操作报错合集之遇到错误代码:SYSTEM_FORBIDDEN_ERROR,状态码为403,该怎么办
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。