云服务器内容精选

  • 开始使用 导入依赖模块 import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" ocr "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/ocr/v1/region" ) 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 func main() { ak := os.Getenv("HUAWEICLOUD_SDK_AK") sk := os.Getenv("HUAWEICLOUD_SDK_SK") auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() } 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化客户端(二选一) 指定云服务region方式(推荐) // 初始化指定云服务的客户端 New{Service}Client,以初始化华北-北京四(cn-north-4)区域服务为例 func main() { client := ocr.NewOcrClient( ocr.OcrClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) } 指定云服务endpoint方式 func main() { // 指定终端节点,以OCR服务北京四的endpoint为例 endpoint:="https://ocr.cn-north-4.myhuaweicloud.com" // 使用endpoint方式,在认证信息中需新增projectId auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() // 初始化指定云服务的客户端 New{Service}Client client := ocr.NewOcrClient( ocr.OcrClientBuilder(). WithEndpoint(endpoint). WithCredential(auth). Build()) } endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用表格识别接口 RecognizeGeneralTable 为例 request := &model.RecognizeGeneralTableRequest{} urlGeneralTableRequestBody:= "图片的url" request.Body = &model.GeneralTableRequestBody{ Url: &urlGeneralTableRequestBody, } response, err := client.RecognizeGeneralTable(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } 异常处理 表1 异常处理 一级分类 一级分类说明 ServiceResponseError 服务响应异常 url.Error url异常 response, err := client.RecognizeGeneralTable(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) }
  • 开始使用 导入依赖模块 package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; // 对用户身份进行认证 import com.huaweicloud.sdk.core.auth.BasicCredentials; // 请求异常类 import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; // 导入OCR客户端 import com.huaweicloud.sdk.ocr.v1.region.OcrRegion; import com.huaweicloud.sdk.ocr.v1.*; import com.huaweicloud.sdk.ocr.v1.model.*; 配置客户端连接参数 默认配置 // 使用默认配置 HttpConfig config = HttpConfig.getDefaultHttpConfig(); 网络代理(可选) // 根据需要配置网络代理,网络代理默认的协议为 `http` 协议 config.withProxyHost("proxy.huaweicloud.com") .withProxyPort(8080) .withProxyUsername("test") .withProxyPassword("test"); 超时配置(可选) // 默认连接超时时间为60秒,可根据需要调整 config.withTimeout(60); SSL配置(可选) // 根据需要配置是否跳过SSL证书验证 // 执行SDK时出现javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure报错,可添加此代码,跳过SSL证书验证 config.withIgnoreSSLVerification(true); 配置认证信息 配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。有两种认证方式,分别如下。 初始化认证信息: String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); 认证用的 ak 和 sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 如果没有设置环境变量,可以去掉System.getenv方法调用,直接填写对应的 ak、sk,例如:String ak = "ak"; String sk = "sk"。 使用永久AK和SK BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withProjectId(projectId); 使用临时AK和SK BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withSecurityToken(securityToken) .withProjectId(projectId) 认证参数说明: ak、sk:访问密钥信息,获取方法请参见准备工作。 projectId:华为云项目ID,获取方法请参见准备工作。 securityToken:临时认证场景下的安全票据,可以通过token获取或者通过委托授权获取。 初始化客户端(二选一) 指定region方式(推荐) // 增加region依赖 import com.huaweicloud.sdk.ocr.v1.region.OcrRegion; // 初始化客户端认证信息,使用当前客户端初始化方式可不填 projectId/domainId ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); // 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 OcrClient Client = OcrClient.newBuilder() .withHttpConfig(config) .withCredential(auth) .withRegion(OcrRegion.valueOf("cn-north-4")) .build(); 指定云服务endpoint方式 // 指定终端节点,以OCR服务北京四的 endpoint 为例 String endpoint = "https://ocr.cn-north-4.myhuaweicloud.com"; // 初始化客户端认证信息,需要填写相应 projectId/domainId,以初始化 BasicCredentials 为例 BasicCredentials basicCredentials = new BasicCredentials() .withAk(ak) .withSk(sk) .withProjectId(projectId); // 初始化指定云服务的客户端 {Service}Client ,以初始化 Region 级服务OCR的 OcrClient 为例 OcrClient ocrClient = OcrClient.newBuilder() .withHttpConfig(config) .withCredential(basicCredentials) .withEndpoint(endpoint) .build(); endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用表格识别接口 RecognizeGeneralTable 为例 RecognizeGeneralTableRequest request = new RecognizeGeneralTableRequest(); GeneralTableRequestBody body = new GeneralTableRequestBody(); body.withUrl("图片的url"); request.withBody(body); try { RecognizeGeneralTableResponse response = client.recognizeGeneralTable(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) // 异常处理 try { RecognizeGeneralTableRequest request = new RecognizeGeneralTableRequest(); RecognizeGeneralTableResponse response = client.recognizeGeneralTable(request); System.out.println(response.toString()); } catch(ServiceResponseException e) { logger.error("HttpStatusCode: " + e.getHttpStatusCode()); logger.error("RequestId: " + e.getRequestId()); logger.error("ErrorCode: " + e.getErrorCode()); logger.error("ErrorMsg: " + e.getErrorMsg()); }
  • 安装SDK 使用SDK前,需要安装“HuaweiCloud.SDK.Core”和“HuaweiCloud.SDK.Ocr”,有两种安装方式,分别如下。 使用 .NET CLI 工具 dotnet add package HuaweiCloud.SDK.Core dotnet add package HuaweiCloud.SDK.Ocr 使用 Package Manager Install-Package HuaweiCloud.SDK.Core Install-Package HuaweiCloud.SDK.Ocr
  • 开始使用 导入依赖模块 using System; using System.Collections.Generic; using HuaweiCloud.SDK.Core; using HuaweiCloud.SDK.Core.Auth; using HuaweiCloud.SDK.Ocr; using HuaweiCloud.SDK.Ocr.V1; using HuaweiCloud.SDK.Ocr.V1.Model; 配置客户端连接参数 默认配置 // 使用默认配置 var config = HttpConfig.GetDefaultConfig(); 网络代理(可选) // 根据需要配置网络代理 config.ProxyHost = "proxy.huaweicloud.com"; config.ProxyPort = 8080; config.ProxyUsername = "test"; config.ProxyPassword = "test"; 超时配置(可选) // 默认超时时间为120秒,可根据需要调整 config.Timeout = 120; SSL配置(可选) // 根据需要配置是否跳过SSL证书验证 config.IgnoreSslVerification = true; 配置认证信息 配置AK、SK信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。AK、SK获取方法请参见准备工作。 const string ak = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); const string sk = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); var auth = new BasicCredentials(ak, sk); 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 初始化客户端(二选一) 指定云服务region方式(推荐) // 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithRegion(OcrRegion.ValueOf("cn-north-4")) .WithHttpConfig(config) .Build(); 指定云服务endpoint方式 // 指定终端节点,以OCR服务北京四的 endpoint 为例 String endpoint = "https://ocr.cn-north-4.myhuaweicloud.com"; // 初始化客户端认证信息,需要填写相应 projectId,以初始化 BasicCredentials 为例 var auth = new BasicCredentials(ak, sk, projectId); // 初始化指定云服务的客户端 {Service}Client,以初始化OCR服务的 OcrClient 为例 var client = OcrClient.NewBuilder() .WithCredential(auth) .WithEndPoint(endpoint) .WithHttpConfig(config) .Build(); endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 // 以调用通用表格识别接口 RecognizeGeneralTable 为例 var req = new RecognizeGeneralTableRequest { }; req.Body = new GeneralTableRequestBody() { Url = "图片的url" }; try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) try { var resp = client.RecognizeGeneralTable(req); var respStatusCode = resp.HttpStatusCode; Console.WriteLine(respStatusCode); } catch (RequestTimeoutException requestTimeoutException) { Console.WriteLine(requestTimeoutException.ErrorMessage); } catch (ServiceResponseException clientRequestException) { Console.WriteLine(clientRequestException.HttpStatusCode); Console.WriteLine(clientRequestException.ErrorCode); Console.WriteLine(clientRequestException.ErrorMsg); } catch (ConnectionException connectionException) { Console.WriteLine(connectionException.ErrorMessage); }
  • 文字识别SDK概述 文字识别(Optical Character Recognition,简称OCR)将图片或扫描件中的文字识别成可编辑的文本。可代替人工录入,提升业务效率。支持身份证、驾驶证、行驶证、发票、通用表格、通用文字等场景文字识别。 文字识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户提升业务效率。 文字识别服务软件开发工具包(OCR SDK,Optical Character Recognition Service Software Development Kit)是对OCR服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用OCR SDK提供的接口函数即可实现使用OCR服务业务能力的目的。 我们针对不同语言的SDK提供了开发指南: 表1 不同语言SDK的开发指南 编程语言 开发指南 Java Java SDK 开发指南 Python Python SDK 开发指南 Node.js Node.js SDK 开发指南 PHP PHP SDK 开发指南 C++ C++ SDK 开发指南 Go Go SDK 开发指南 NET NET SDK 开发指南
  • 安装SDK 支持Python3及以上版本,执行python --version检查当前Python的版本信息。 使用SDK前,需要安装“huaweicloudsdkcore”和“huaweicloudsdkocr”,有两种安装方式,分别如下。 使用pip安装 #回显Successfully installed xxx表示安装成功 # 安装核心库 pip install huaweicloudsdkcore # 安装OCR服务库 pip install huaweicloudsdkocr 使用源码安装 SDK版本可通过SDK中心查询。 # 安装核心库 cd huaweicloudsdkcore-${version} python setup.py install # 安装OCR服务库 cd huaweicloudsdkocr-${version} python setup.py install
  • 开始使用 导入依赖模块 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcore.http.http_config import HttpConfig # 导入指定云服务的库 huaweicloudsdk{service} from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion from huaweicloudsdkocr.v1 import * 配置客户端连接参数 默认配置 # 使用默认配置,如出现'HttpConfig' is not defined报错,请检查是否已正确安装sdk config = HttpConfig.get_default_config() 网络代理(可选) # 根据需要配置网络代理 config.proxy_protocol = 'http' config.proxy_host = 'proxy.huaweicloud.com' config.proxy_port = 80 config.proxy_user = 'username' config.proxy_password = 'password' 超时配置(可选) # 默认连接超时时间为60秒,读取超时时间为120秒,支持统一指定超时时长timeout=timeout,或分别指定超时时长timeout=(connect timeout, read timeout) config.timeout = 120 SSL配置(可选) # 根据需要配置是否跳过SSL证书校验 config.ignore_ssl_verification = True # 配置服务器端CA证书,用于SDK验证服务端证书合法性 config.ssl_ca_cert = ssl_ca_cert 客户端连接参数配置完成后需在初始化客户端client中配置“with_http_config(config)”相应的代码,详情请参见4.初始化客户端(二选一)中的client后的代码。 配置认证信息 配置AK、SK、project_id信息。华为云通过AK识别用户的身份,通过SK对请求数据进行签名验证,用于确保请求的机密性、完整性和请求者身份的正确性。有两种认证方式,分别如下。 初始化认证信息: ak = os.environ.get("HUAWEICLOUD_SDK_AK") sk = os.environ.get("HUAWEICLOUD_SDK_SK") 认证用的 ak 和sk 硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 本示例以 ak 和 sk 保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 使用永久AK和SK credentials = BasicCredentials(ak, sk, project_id) 使用临时AK和SK credentials = BasicCredentials(ak, sk, project_id).with_security_token(security_token) 认证参数说明: ak、sk:访问密钥信息,获取方法请参见准备工作。 project_id:华为云项目ID,获取方法请参见准备工作。 security_token:临时认证场景下的安全票据,可以通过token获取或者通过委托授权获取。 初始化客户端(二选一) 指定region方式(推荐) # 增加region依赖 from huaweicloudsdkocr.v1.region.ocr_region import OcrRegion # 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 client = OcrClient.new_builder() \ .with_http_config(config) \ .with_credentials(credentials) \ .with_region(OcrRegion.value_of("cn-north-4")) \ .build() 指定云服务endpoint方式 # 指定终端节点,以 OCR 服务北京四的 endpoint 为例 endpoint = "https://ocr.cn-north-4.myhuaweicloud.com" # 初始化指定云服务的客户端 {Service}Client ,以初始化OCR服务的 OcrClient 为例 client = OcrClient.new_builder() \ .with_http_config(config) \ .with_credentials(credentials) \ .with_endpoint(endpoint) \ .build() endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看 地区和终端节点 。 发送请求并查看响应 # 以调用通用表格识别接口 RecognizeGeneralTable 为例 request = RecognizeGeneralTableRequest() request.body = GeneralTableRequestBody( url="图片的url" ) response = client.recognize_general_table(request) print(response) 异常处理 表1 异常处理 一级分类 一级分类说明 二级分类 二级分类说明 ConnectionException 连接类异常 HostUnreachableException 网络不可达、被拒绝。 SslHandShakeException SSL认证异常。 RequestTimeoutException 响应超时异常 CallTimeoutException 单次请求,服务器处理超时未返回。 RetryOutageException 在重试策略消耗完成后,仍无有效的响应。 ServiceResponseException 服务器响应异常 ServerResponseException 服务端内部错误,Http响应码:[500,]。 ClientRequestException 请求参数不合法,Http响应码:[400, 500) # 异常处理 try: request = RecognizeGeneralTableRequest() response = client.recognize_general_table(request) print(response) except exceptions.ClientResponseException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
  • 安装SDK 推荐使用 Composer 安装 SDK 。 Composer 是 Php 的依赖管理工具,允许您在项目中声明依赖关系并安装这些依赖: // 安装 Composer curl -sS https://getcomposer.org/installer | php // 安装 PHP SDK composer require huaweicloud/huaweicloud-sdk-php 安装完毕后,你需要引入 Composer 的自动加载文件: require 'path/to/vendor/autoload.php';
  • 泰文身份证识别 只支持泰国身份证的识别。 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。 泰国身份证识别图像各边的像素大小在15到8192px之间。 图像中身份证区域有效占比超过25%,保证整张身份证内容及其边缘包含在图像内。 支持图像中身份证任意角度的水平旋转。 支持少量扭曲,扭曲后图像中的身份证长宽比与实际身份证相差不超过10%。 能处理反光、暗光等干扰的图片但影响识别精度。 目前只支持识别单张身份证的正面或者反面。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前。
  • 手写文字识别 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。 图像各边的像素大小在15到8192px之间。 图像中识别区域有效占比超过80%,保证所有文字及其边缘包含在图像内。 支持图像任意角度的水平旋转(需开启方向检测)。 目前不支持复杂背景(如户外自然场景、防伪水印等)和表格线扭曲图像的文字识别。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前联系我们。
  • 发票验真 支持增值税专用发票、增值税普通发票、增值税普通发票(卷式)、增值税电子专用发票、增值税电子普通发票、增值税电子普通发票(通行费)、二手车销售统一发票、机动车销售统一发票、区块链电子发票和全电发票,共计10种发票信息核验。 每份发票每天最多可查验5次。可查验最近5年内(国家税务总局)增值税发票管理系统开具的发票。 税务局数据同步有时延,建议当天新开的发票在24小时后查询。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前联系我们。
  • 防疫健康码识别 支持全国不同地区健康码的识别。 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。 图像各边的像素大小在15到8192px之间。 图像中健康码区域有效占比超过80%,保证整张健康码内容及其边缘包含在图像内。 推荐采用手机截图图像。 支持图像中健康码任意角度的水平旋转(需开启方向检测)。 能处理反光、暗光等干扰的图片但影响识别精度。 目前只支持识别单张健康码。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前联系我们。
  • 核酸检测记录识别 支持全国不同地区健康码小程序中的核酸检测记录界面的识别。 支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。 图像各边的像素大小在15到8192px之间。 图像中核酸检测记录区域有效占比超过80%,保证整张核酸检测记录内容及其边缘包含在图像内。 推荐采用手机截图图像。 支持图像中核酸检测记录界面任意角度的水平旋转(需开启方向检测)。 能处理反光、暗光等干扰的图片但影响识别精度。 目前只支持识别单张核酸检测记录界面。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前联系我们联系管理员。
  • 哥伦比亚身份证 支持哥伦比亚身份证的识别。 只支持识别PNG、JPG、JPEG、BMP、TIFF格式图片。 图像各边的像素大小在15px到8000px之间。 图像中身份证区域有效占比超过80%,保证整张身份证内容及其边缘包含在图像内。 支持图像中身份证任意角度的水平旋转。 支持少量扭曲,扭曲后图像中的身份证长宽比与实际身份证相差不超过10%。 能处理反光、暗光等干扰的图片但影响识别精度。 目前只支持识别单张身份证的正面或者反面。
  • 保险单识别 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。 图像各边的像素在15到8192px之间。 图像中保险单区域有效占比超过70%,保证整张保险单及其边缘包含在图像内。 支持图像中保险单旋转、支持少量扭曲。 能处理暗光等干扰的图片但影响识别精度。 覆盖常见保险公司的常见保单版式,由于即使是同一家保险公司,保险种类也繁多而且都在动态变化,实际支持情况请以实际测试效果为准。 文字识别服务属于公有云服务,线上用户资源共享,如果需要多并发请求,请提前联系我们。