云服务器内容精选

  • 媒资图像标签示例 本章节对媒资图像标签AK/SK方式使用SDK进行示例说明。 媒资图像标签示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用ImageMediaTaggingReq中的withUrl或withImage方法配置图像信息(image和url参数二选一),示例中以url为例,配置完成后运行即可。 endpoint是华为云各服务应用区域和各服务的终端节点,详情请查看地区和终端节点 。 媒资图像标签调用示例代码如下: 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; import com.huaweicloud.sdk.image.v2.region.ImageRegion; import com.huaweicloud.sdk.image.v2.*; import com.huaweicloud.sdk.image.v2.model.*; public class RunImageMediaTaggingSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); ImageClient client = ImageClient.newBuilder() .withCredential(auth) .withRegion(ImageRegion.valueOf("cn-north-4")) //此处替换为您开通服务的区域 .build(); RunImageMediaTaggingRequest request = new RunImageMediaTaggingRequest(); ImageMediaTaggingReq body = new ImageMediaTaggingReq(); body.withThreshold(10f); body.withLanguage("zh"); body.withUrl("https://XXX.jpg"); //此处替换为公网可以访问的图片地址 request.withBody(body); try { RunImageMediaTaggingResponse response = client.runImageMediaTagging(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()); } } } 执行示例代码文件,控制台输出媒资图像标签结果即表示程序执行成功。相关参数说明请参考媒资图像标签API。 class RunImageMediaTaggingResponse { result: class ImageMediaTaggingResponseResult { tags: [class ImageMediaTaggingItemBody { confidence: 83.15 type: 社会 tag: 火灾 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 火灾 en: Fire } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 社会 en: Society } instances: [] }, class ImageMediaTaggingItemBody { confidence: 70.21 type: 其他 tag: 火 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 火 en: Fire } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 其他 en: Other } instances: [] }, class ImageMediaTaggingItemBody { confidence: 53.63 type: 学科科学 tag: 火球 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 火球 en: Fireball } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 学科科学 en: Subject science } instances: [] }, class ImageMediaTaggingItemBody { confidence: 53.45 type: 其他 tag: 营火 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 营火 en: Campfire } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 其他 en: Other } instances: [] }, class ImageMediaTaggingItemBody { confidence: 50.73 type: 人工场景 tag: 林业局 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 林业局 en: Forestry bureau } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 人工场景 en: Manual scenario } instances: [] }, class ImageMediaTaggingItemBody { confidence: 50.34 type: 其他 tag: 烧毁的 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 烧毁的 en: Burned } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 其他 en: Other } instances: [] }, class ImageMediaTaggingItemBody { confidence: 46.63 type: 场景 tag: 火焰 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 火焰 en: Flame } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 场景 en: Scene } instances: [] }, class ImageMediaTaggingItemBody { confidence: 45.27 type: 其他 tag: 燃烧 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 燃烧 en: Burning } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 其他 en: Other } instances: [] }, class ImageMediaTaggingItemBody { confidence: 41.32 type: 职业/角色 tag: 消防员 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 消防员 en: Fireman } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 职业/角色 en: Career/Role } instances: [] }, class ImageMediaTaggingItemBody { confidence: 39.97 type: 动作 tag: 烧香 i18nTag: class ImageMediaTaggingItemBodyI18nTag { zh: 烧香 en: Incense burning } i18nType: class ImageMediaTaggingItemBodyI18nType { zh: 动作 en: Action } instances: [] }] } } 父主题: 使用SDK(Java)
  • 初始化DIS客户端 您可以使用以下两种方法初始化DIS SDK客户端实例,优先选择使用代码进行初始化。其中,“endpoint”,“ak”,“sk”,“region”,“projectId”信息请参看获取认证信息。 使用代码初始化DIS SDK客户端实例。 1 2 3 4 5 6 7 8 9 10 11 12 13 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard() .withEndpoint("YOUR_ENDPOINT") // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 .withAk(System.getenv("HUAWEICLOUD_SDK_AK")) .withSk(System.getenv("HUAWEICLOUD_SDK_SK")) .withProjectId("YOUR_PROJECT_ID") .withRegion("YOUR_REGION") // 以下配置失败时的重试次数 .withProperty(DISConfig.PROPERTY_PRODUCER_RECORDS_RETRIES, "-1") .withProperty(DISConfig.PROPERTY_PRODUCER_EXCEPTION_RETRIES, "-1") .build(); 若需要使用代理,请使用如下方法初始化DIS客户端: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard() .withEndpoint("YOUR_ENDPOINT") // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 .withAk(System.getenv("HUAWEICLOUD_SDK_AK")) .withSk(System.getenv("HUAWEICLOUD_SDK_SK")) .withProjectId("YOUR_PROJECT_ID") .withRegion("YOUR_REGION") .withProxyHost("YOUR_PROXY_HOST") // 代理IP .withProxyPort("YOUR_PROXY_PORT") // 代理端口 .withProxyProtocol(Protocol.HTTP) // 代理协议,默认为HTTP .withProxyUsername("YOUR_PROXY_USER_NAME") // 代理用户名(可选) .withProxyPassword("YOUR_PROXY_PASSWORD") // 代理密码(可选) // 以下配置失败时的重试次数 .withProperty(DISConfig.PROPERTY_PRODUCER_RECORDS_RETRIES, "-1") .withProperty(DISConfig.PROPERTY_PRODUCER_EXCEPTION_RETRIES, "-1") .build(); 若需在客户端设置DIS连接超时时间,请使用如下方法初始化DIS客户端: 1 2 3 4 5 6 7 8 9 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard() .withEndpoint("YOUR_ENDPOINT") .withAk(System.getenv("HUAWEICLOUD_SDK_AK")) .withSk(System.getenv("HUAWEICLOUD_SDK_SK")) .withProjectId("YOUR_PROJECT_ID") .withRegion("YOUR_REGION") .withProperty(DISConfig.PROPERTY_CONNECTION_TIMEOUT, "60") // 单位:秒 .build(); 若需要开启传输压缩,请使用如下方法初始化DIS客户端: 1 2 3 4 5 6 7 8 9 10 11 12 13 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard() .withEndpoint("YOUR_ENDPOINT") .withAk(System.getenv("HUAWEICLOUD_SDK_AK")) .withSk(System.getenv("HUAWEICLOUD_SDK_SK")) .withProjectId("YOUR_PROJECT_ID") .withRegion("YOUR_REGION") .withBodyCompressEnabled(true) .withBodyCompressType(CompressionType.ZSTD) // 配置压缩算法,当前支持lz4和zstd,默认值为lz4 // 以下配置失败时的重试次数 .withProperty(DISConfig.PROPERTY_PRODUCER_RECORDS_RETRIES, "-1") .withProperty(DISConfig.PROPERTY_PRODUCER_EXCEPTION_RETRIES, "-1") .build(); 若需在客户端将 数据加密 后再上传到DIS,DIS SDK提供了加密方法。即在构建disclient时增加参数DataEncryptEnabled和data.password。 1 2 3 4 5 6 7 8 9 10 11 12 13 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard() .withEndpoint("YOUR_ENDPOINT") .withAk(System.getenv("HUAWEICLOUD_SDK_AK")) .withSk(System.getenv("HUAWEICLOUD_SDK_SK")) .withProjectId("YOUR_PROJECT_ID") .withRegion("YOUR_REGION") .withDataEncryptEnabled(true) .withProperty("data.password", "xxx") //xxx替换为用户配置的数据加密密钥 // 以下配置失败时的重试次数 .withProperty(DISConfig.PROPERTY_PRODUCER_RECORDS_RETRIES, "-1") .withProperty(DISConfig.PROPERTY_PRODUCER_EXCEPTION_RETRIES, "-1") .build(); 若使用JAVA SDK加密上传数据,读取数据也需要使用JAVA SDK配置相同的密钥。 使用配置文件初始化DIS SDK客户端实例。 在“dis-sdk-demo\src\main\resources”目录下的“dis.properties”文件中添加如下配置项。 ak/sk:用户在 IAM 中创建的AK/SK。 region:用户使用通道所在的区域。 endpoint:DIS的访问地址。 projectId:通道所在的资源ID。 1 2 // 创建DIS客户端实例 DIS dic = DISClientBuilder.standard().build(); 父主题: 使用SDK(Java)
  • 检查数据示例 本章节对检查数据AK/SK方式使用SDK进行示例说明。 检查数据示例代码只需将AK/SK信息替换为实际AK/SK,代码中可以使用CheckParam类的setItemId设置数据的服务实例级唯一标识,配置完成后运行即可。 检查数据调用示例代码如下: 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; import com.huaweicloud.sdk.core.region.Region; import com.huaweicloud.sdk.imagesearch.v2.*; import com.huaweicloud.sdk.imagesearch.v2.model.*; /** * 检查数据 */ public class RunCheckDataSolution { public static void main(String[] args) { // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全 // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK String ak = System.getenv("HUAWEICLOUD_SDK_AK"); String sk = System.getenv("HUAWEICLOUD_SDK_SK"); String iamEndpoint = "https://iam.cn-north-4.myhuaweicloud.com"; String endpoint = "https://mms.cn-north-4.myhuaweicloud.com"; String projectId = "project_id"; // 初始化客户端 ICredential auth = new BasicCredentials() .withIamEndpoint(iamEndpoint) .withProjectId(projectId) .withAk(ak) .withSk(sk); ImageSearchClient client = ImageSearchClient.newBuilder() .withCredential(auth) // 设置region, 示例中为北京四 .withRegion(new Region("cn-north-4", endpoint)) .build(); RunCheckDataRequest request = new RunCheckDataRequest(); request.withServiceName("service_name"); CheckParam body = new CheckParam(); body.withItemId("item_id"); request.withBody(body); try { RunCheckDataResponse response = client.runCheckData(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.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } 执行示例代码文件,控制台输出检查数据结果即表示程序执行成功。 class RunCheckDataResponse { result: success data: class CheckRestInfo { existed: true itemInfo: class ItemSource { desc: null customTags: {key=value} customNumTags: {key=1.0} keywords: null } items: null checkInfo: null } } 父主题: 使用SDK(Java)