目前易盾提供了 Java 和 Go 两种语言的 SDK,方便开发者接入使用,本文档将介绍如何使用 SDK 进行接入。 ## 接入准备 前往 易盾控制台 (https://dun.163.com/dashboard),根据业务需求开通相应的服务,获取 SecretID、SecretKey、BusinessId 等信息。 获取路径:易盾控制台 -> 产品(如 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 中 标签中添加以下代码: Code (html): com.netease.yidun yidun-java-sdk 1.3.10 > 注意:代码中的版本号可能更新不及时,推荐使用 Maven 仓库中的最新版本 ### 常见配置 #### 请求配置 HTTP 请求常见配置参数,包括超时时间、连接池连接数、空闲时间等参数,使用方式参考如下: Code (java): ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey"); // 设置请求超时时间 HttpClientConfig httpClientConfig = clientProfile.getHttpClientConfig(); httpClientConfig.setSocketTimeoutMillis(60000); #### 请求协议 支持 HTTP 和 HTTPS 协议,推荐使用 HTTP 协议,可以通过设置请求对象的 protocol 字段切换协议,使用方式参考如下: Code (java): ImageV5SyncCheckRequest checkRequest = new ImageV5SyncCheckRequest(); checkRequest.setProtocol(ProtocolEnum.HTTP); #### 重试配置 支持设置请求失败的重试次数,使用方式参考如下: Code (java): ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey"); // 设置重试次数,最大支持 10 次 clientProfile.setMaxRetryCount(2); #### 熔断配置 支持设置熔断的常见配置,包括窗口大小、熔断时间、错误率阈值、熔断生效的请求数阈值等参数,使用方式参考如下: Code (java): ClientProfile clientProfile = AntispamRequester.createDefaultProfile("SecretId", "SecretKey"); // 设置熔断时间 FixedWindowBreakStrategy.Config breakerConfig = clientProfile.getBreakerConfig(); breakerConfig.statWindowMillis(300000); ### 更新日志 详见更新日志 (https://github.com/yidun/yidun-java-sdk/releases) ## Go SDK ### 准备工作 #### 环境要求 Go 版本要求: 1.2+ > 可以在终端执行 go version 命令查看当前 Go 版本 #### 安装 SDK 在项目中添加 module 依赖,在 go.mod 文件中添加以下代码。 Code (go): require github.com/yidun/yidun-golang-sdk v1.0.0 > 注意:代码中的版本号可能更新不及时,推荐使用 Github 仓库中的最新版本 ### 常见配置 #### 请求配置 HTTP 请求常见配置参数,包括超时时间、连接池连接数、空闲时间等参数,使用方式参考如下: Code (go): credential := auth.NewCredentials("accessKeyId", "accessKeySecret") clientProfile := client.NewClientProfile(credential) // 设置请求超时时间 clientProfile.HttpClientConfig.ConnectionKeepAliveMillis = 10000 crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile) #### 请求协议 支持 HTTP 和 HTTPS 协议,推荐使用 HTTP 协议,可以通过设置请求对象的 protocol 字段切换协议,使用方式参考如下: Code (go): request := submit.NewCrawlerResourceV3SubmitRequest() request.SetProtocol(http.ProtocolEnumHTTP) #### 重试配置 支持设置请求失败的重试次数,使用方式参考如下: Code (go): credential := auth.NewCredentials("accessKeyId", "accessKeySecret") clientProfile := client.NewClientProfile(credential) // 设置重试次数,最大支持 10 次 clientProfile.SetMaxRetryCount(10) crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile) #### 熔断配置 支持设置熔断的常见配置,包括窗口大小、熔断时间、错误率阈值、熔断生效的请求数阈值等参数,使用方式参考如下: Code (go): credential := auth.NewCredentials("accessKeyId", "accessKeySecret") clientProfile := client.NewClientProfile(credential) // 设置熔断时间 clientProfile.BreakerConfig.SetStatWindowMillis(10000) crawlerSubmitClient := crawler.NewCrawlerClient(clientProfile) ### 更新日志 详见更新日志 (https://github.com/yidun/yidun-golang-sdk/releases)