服务端 SDK 接入指引

2024.03.07 11:47:50

    目前易盾提供了 Java 和 Go 两种语言的 SDK,方便开发者接入使用,本文档将介绍如何使用 SDK 进行接入。

    接入准备

    前往 易盾控制台,根据业务需求开通相应的服务,获取 SecretIDSecretKeyBusinessId 等信息。

    获取路径:易盾控制台 -> 产品(如 AI 内容检测) -> 服务管理 -> 查看产品秘钥,如果有疑问请联系商务经理。

    功能特性

    完善的失败处理

    • 接口请求提供同步重试机制,在出现调用失败时,会自动重试指定 region 内的下一个请求节点。
    • 接口请求支持熔断降级,在当前时间窗口内,指定 region 的某个节点失败请求次数到达阈值时,会触发熔断,后续请求会自动路由到 region 内的其他可用节点,直到超过熔断时间再对熔断节点探活。

    丰富的签名算法

    内置多种接口签名算法支持,包括 MD5、SHA1、SHA256、SM3。

    灵活的接口配置:

    • HTTP 请求常见配置参数,包括超时时间参数,HTTP 连接池连接数、空闲时间等核心参数。
    • 切换请求协议,通过在请求对象中设置 protocol 字段,切换 HTTP/HTTPS 协议,默认 HTTPS。
    • 指定 region(默认杭州),根据您服务器的所在地,选择适合的 region,以达到更好的请求效果,支持的 region 列表请咨询商务经理。
    • 熔断窗口的常见配置参数,包括窗口大小、熔断时间、错误率阈值、熔断生效的请求数阈值。

    Java SDK

    准备工作

    环境要求

    Java 版本要求: 1.8+

    可以在终端执行 java -version 命令查看当前 Java 版本

    安装 SDK

    1. 开发环境安装并配置好 Maven 管理工具
    2. 在项目中添加 Maven 依赖,在 pom.xml 中 <dependencies> 标签中添加以下代码:
    <dependency>
        <groupId>com.netease.yidun</groupId>
        <artifactId>yidun-java-sdk</artifactId>
        <version>1.3.10</version>
    </dependency>
    

    注意:代码中的版本号可能更新不及时,推荐使用 Maven 仓库中的最新版本

    常见配置

    请求配置

    HTTP 请求常见配置参数,包括超时时间、连接池连接数、空闲时间等参数,使用方式参考如下:

    ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey");
    // 设置请求超时时间
    HttpClientConfig httpClientConfig = clientProfile.getHttpClientConfig();
    httpClientConfig.setSocketTimeoutMillis(60000);
    

    请求协议

    支持 HTTP 和 HTTPS 协议,默认使用 HTTPS 协议,可以通过设置请求对象的 protocol 字段切换协议,使用方式参考如下:

    ImageV5SyncCheckRequest checkRequest = new ImageV5SyncCheckRequest();
    checkRequest.setProtocol(ProtocolEnum.HTTPS);
    

    重试配置

    支持设置请求失败的重试次数,使用方式参考如下:

    ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey");
    // 设置重试次数,最大支持 10 次
    clientProfile.setMaxRetryCount(2);
    

    熔断配置

    支持设置熔断的常见配置,包括窗口大小、熔断时间、错误率阈值、熔断生效的请求数阈值等参数,使用方式参考如下:

    ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey");
    // 设置熔断时间
    FixedWindowBreakStrategy.Config breakerConfig = clientProfile.getBreakerConfig();
    breakerConfig.statWindowMillis(300000);
    

    更新日志

    详见更新日志

    Go SDK

    准备工作

    环境要求

    Go 版本要求: 1.2+

    可以在终端执行 go version 命令查看当前 Go 版本

    安装 SDK

    在项目中添加 module 依赖,在 go.mod 文件中添加以下代码。

    require github.com/yidun/yidun-golang-sdk v1.0.0
    

    注意:代码中的版本号可能更新不及时,推荐使用 Github 仓库中的最新版本

    常见配置

    请求配置

    HTTP 请求常见配置参数,包括超时时间、连接池连接数、空闲时间等参数,使用方式参考如下:

      credential := auth.NewCredentials("accessKeyId", "accessKeySecret")
      clientProfile := client.NewClientProfile(credential)
      // 设置请求超时时间
      clientProfile.HttpClientConfig.ConnectionKeepAliveMillis = 10000
      crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile)
    

    请求协议

    支持 HTTP 和 HTTPS 协议,默认使用 HTTPS 协议,可以通过设置请求对象的 protocol 字段切换协议,使用方式参考如下:

    request := submit.NewCrawlerResourceV3SubmitRequest()
    request.SetProtocol(http.ProtocolEnumHTTPS)
    

    重试配置

    支持设置请求失败的重试次数,使用方式参考如下:

    credential := auth.NewCredentials("accessKeyId", "accessKeySecret")
    clientProfile := client.NewClientProfile(credential)
    // 设置重试次数,最大支持 10 次
    clientProfile.SetMaxRetryCount(10)
    crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile)
    

    熔断配置

    支持设置熔断的常见配置,包括窗口大小、熔断时间、错误率阈值、熔断生效的请求数阈值等参数,使用方式参考如下:

    credential := auth.NewCredentials("accessKeyId", "accessKeySecret")
    clientProfile := client.NewClientProfile(credential)
    // 设置熔断时间
    clientProfile.BreakerConfig.SetStatWindowMillis(10000)
    crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile)
    

    更新日志

    详见更新日志

    在线咨询 电话咨询:95163223 免费试用