### Configure Logger and Log Format Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/8-Log-EN.md Pass an object implementing org.slf4j.Logger to the profile and set a custom log format. This is required to start the logging function. ```java IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); // configure logger profile.setLogger(logger); // configure log format profile.setLogFormat(format); DefaultAcsClient client = new DefaultAcsClient(profile); client.getAcsResponse(request); ``` -------------------------------- ### Example Credentials File Configuration Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/2-Client-EN.md This INI file demonstrates various ways to configure credentials, including access key, ECS RAM role, RAM role ARN, and RSA key pair authentication. Ensure the configuration item name is lowercase. ```ini [default] enable = true type = access_key access_key_id = foo access_key_secret = bar [client1] type = ecs_ram_role role_name = EcsRamRoleTest [client2] enable = false type = ram_role_arn region_id = cn-test policy = test access_key_id = foo access_key_secret = bar role_arn = role_arn role_session_name = session_name [client3] type = rsa_key_pair public_key_id = publicKeyId private_key_file = /your/pk.pem ``` -------------------------------- ### Initialize Aliyun ACS Client with AccessKey Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/2-Client-EN.md Configures the client using region ID, AccessKey ID, and AccessKey Secret. The snippet also includes a commented-out example for using an STS token. ```java package com.testprogram; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.ecs.model.v20140526.*; public class Main { public static void main(String[] args) { // Create and initialize a DefaultAcsClient instance DefaultProfile profile = DefaultProfile.getProfile( "", // The region ID "", // The AccessKey ID of the RAM account ""); // The AccessKey Secret of the RAM account /** use STS Token DefaultProfile profile = DefaultProfile.getProfile( "", // The region ID "", // The AccessKey ID of the RAM account "", // The AccessKey Secret of the RAM account ""); // STS Token **/ IAcsClient client = new DefaultAcsClient(profile); // Create an API request and set parameters DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setPageSize(10); // Initiate the request and handle the response or exceptions DescribeInstancesResponse response; try { response = client.getAcsResponse(request); for (DescribeInstancesResponse.Instance instance:response.getInstances()) { System.out.println(instance.getPublicIpAddress()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ``` -------------------------------- ### VoD Domain Management APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt Provides a suite of new APIs for managing Video on Demand (VoD) domains, including adding, updating, deleting, starting, and stopping domains, as well as retrieving domain information. ```APIDOC ## VoD Domain Management ### Description APIs for managing VoD domains. ### Methods - **AddVodDomain**: Adds a new VoD domain. - **UpdateVodDomain**: Updates an existing VoD domain. - **DeleteVodDomain**: Deletes a VoD domain. - **BatchStartVodDomain**: Starts multiple VoD domains. - **BatchStopVodDomain**: Stops multiple VoD domains. - **DescribeVodUserDomains**: Retrieves a list of user's VoD domains. - **DescribeVodDomainDetail**: Retrieves detailed information about a specific VoD domain. ``` -------------------------------- ### Describe Instances Using Aliyun SDK Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/2-Client-EN.md This Java code snippet shows how to initialize an Aliyun SDK client and make a DescribeInstances API request. It demonstrates setting a page size and handling potential server or client exceptions. ```java package com.testprogram; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.ecs.model.v20140526.*; public class Main { public static void main(String[] args) { IAcsClient client = new DefaultAcsClient("your-region-id"); // Create an API request and set parameters DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setPageSize(10); // Initiate the request and handle the response or exceptions DescribeInstancesResponse response; try { response = client.getAcsResponse(request); for (DescribeInstancesResponse.Instance instance:response.getInstances()) { System.out.println(instance.getPublicIpAddress()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ``` -------------------------------- ### Initialize Client, Create Request, and Handle Response in Java Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/README-CN.md This Java code demonstrates the three main steps for using the Alibaba Cloud SDK: initializing the DefaultAcsClient, creating and configuring an API request (DescribeInstancesRequest), and sending the request to handle the response or exceptions. It's recommended to manage credentials securely outside of the source code. ```java package com.testprogram; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.ecs.model.v20140526.*; public class Main { public static void main(String[] args) { // 1. 创建DefaultAcsClient实例并初始化。 DefaultProfile profile = DefaultProfile.getProfile( "", // 地域ID "", // RAM账号的AccessKey ID ""); // RAM账号Access Key Secret IAcsClient client = new DefaultAcsClient(profile); // 2. 创建API请求并设置参数 DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setPageSize(10); // 3. 发起请求并处理应答或异常 DescribeInstancesResponse response; try { response = client.getAcsResponse(request); for (DescribeInstancesResponse.Instance instance:response.getInstances()) { System.out.println(instance.getPublicIpAddress()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ``` -------------------------------- ### Initialize ECS Client and Describe Instances Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/README.md This Java code demonstrates how to initialize the Alibaba Cloud SDK client for ECS, create a request to describe instances, and process the response. Avoid hardcoding credentials; use external configurations or environment variables instead. ```java package com.testprogram; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.ecs.model.v20140526.*; public class Main { public static void main(String[] args) { // 1. Create and initialize a DefaultAcsClient instance DefaultProfile profile = DefaultProfile.getProfile( "", // The region ID "", // The AccessKey ID of the RAM account ""); // The AccessKey Secret of the RAM account IAcsClient client = new DefaultAcsClient(profile); // 2. Create an API request and set parameters DescribeInstancesRequest request = new DescribeInstancesRequest(); request.setPageSize(10); // 3. Initiate the request and handle the response or exceptions DescribeInstancesResponse response; try { response = client.getAcsResponse(request); for (DescribeInstancesResponse.Instance instance:response.getInstances()) { System.out.println(instance.getPublicIpAddress()); } } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ``` -------------------------------- ### Configure Client Proxy Settings in Java Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/6-Proxy-EN.md Set HTTP and HTTPS proxy details, and specify hosts to bypass the proxy for the Aliyun SDK client. Ensure the HttpClientConfig is applied to the IClientProfile. ```java HttpClientConfig clientConfig = HttpClientConfig.getDefault(); // Configure HTTP proxy clientConfig.setHttpProxy("http://127.0.0.1:9898"); // Configure HTTPS proxy clientConfig.setHttpsProxy("http://user:password@127.0.0.1:8989"); // Configure host addresses bypass the proxy clientConfig.setNoProxy("127.0.0.1,localhost"); IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); profile.setHttpClientConfig(clientConfig); DefaultAcsClient client = new DefaultAcsClient(profile); ``` -------------------------------- ### Configure SDK Logger Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/8-Log-EN.md How to attach an SLF4J logger and set a custom log format to the SDK client profile. ```APIDOC ## Logger Configuration ### Description To enable logging in the Aliyun Java SDK, you must pass an object that implements the `org.slf4j.Logger` interface to the client profile. ### Method Java SDK Configuration ### Request Example ```java IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); // configure logger profile.setLogger(logger); // configure log format profile.setLogFormat(format); DefaultAcsClient client = new DefaultAcsClient(profile); client.getAcsResponse(request); ``` ``` -------------------------------- ### Enable VPC Endpoint Access Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/10-Endpoint-EN.md Enable the `enableUsingVpcEndpoint` configuration on a `DefaultProfile` to access the VPC network. ```java DefaultProfile profile = DefaultProfile.getProfile("", "", ""); profile.enableUsingVpcEndpoint(); ``` -------------------------------- ### Initialize Client with BearerToken in Java Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/2-Client-EN.md Use this pattern to authenticate requests for CCC services using a bearer token. Ensure the region ID and bearer token are correctly configured. ```java package com.testprogram; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ServerException; import com.aliyuncs.ccc.model.v20170705.ListPhoneNumbersRequest; import com.aliyuncs.ccc.model.v20170705.ListPhoneNumbersResponse; public class Main { public static void main(String[] args) { // Create and initialize a DefaultAcsClient instance DefaultProfile profile = DefaultProfile.getProfile(""); // The region ID BearerTokenCredentials bearerTokenCredential = new BearerTokenCredentials(""); DefaultAcsClient client = new DefaultAcsClient(profile, bearerTokenCredential); // Create an API request and set parameters ListPhoneNumbersRequest request = new ListPhoneNumbersRequest(); request.getInstanceId("yourId"); request.setOutboundOnly(true); // Initiate the request and handle the response or exceptions ListPhoneNumbersResponse response; try { response = client.getAcsResponse(request); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } } ``` -------------------------------- ### Short Video Material Management - Add Icon and OnlineStatus Fields Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt Adds 'Icon' and 'OnlineStatus' fields to APIs managing short video materials for enhanced control and information. ```APIDOC ## Short Video Material Management Updates ### Description Adds 'Icon' and 'OnlineStatus' fields to APIs for managing short video materials. ### Affected APIs - SearchMedia - GetAttachedMediaInfo - CreateUploadAttachedMedia ### Parameters #### Request Body/Response (for relevant APIs) - **Icon** (string) - Optional - URL of the icon for the short video material. - **OnlineStatus** (string) - Optional - Online status of the short video material. ``` -------------------------------- ### Configure Connection Pool in Java Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/3-Pool-EN.md Use HttpClientConfig to define connection pool parameters before initializing the DefaultAcsClient. These settings are shared across SDK clients. ```java // Create and initialize a DefaultAcsClient instance DefaultProfile profile = DefaultProfile.getProfile( "", // The region ID "", // The AccessKey ID of the RAM account ""); // The AccessKey Secret of the RAM account // Multiple SDK clients share the same connection pool, set the // parameters for this pool here such as maxRequestsPerHost, timeout, etc. HttpClientConfig clientConfig = HttpClientConfig.getDefault(); clientConfig.setMaxRequestsPerHost(6); clientConfig.setConnectionTimeoutMillis(30000L); clientConfig.setMaxIdleConnections(20); profile.setHttpClientConfig(clientConfig); IAcsClient client = new DefaultAcsClient(profile); ``` -------------------------------- ### VoD Domain Config Management APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt Introduces APIs for managing Video on Demand (VoD) domain configurations, including batch setting, describing, deleting specific configurations, and managing SSL certificates. ```APIDOC ## VoD Domain Config Management ### Description APIs for managing VoD domain configurations and certificates. ### Methods - **BatchSetVodDomainConfigs**: Sets configurations for multiple VoD domains. - **DescribeVodDomainConfigs**: Retrieves configurations for VoD domains. - **DeleteVodSpecificConfig**: Deletes a specific VoD domain configuration. - **SetVodDomainCertificate**: Sets the SSL certificate for a VoD domain. - **DescribeVodCertificateList**: Retrieves a list of SSL certificates. - **DescribeVodDomainCertificateInfo**: Retrieves SSL certificate information for a VoD domain. ``` -------------------------------- ### Log Format Customization Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/8-Log-EN.md Details on how to define custom log formats using supported variable substitutions. ```APIDOC ## Log Format Configuration ### Description Customize the log output format using `profile.setLogFormat(format)`. The default format is `{method} {uri} HTTP/{version} {code} {cost} {hostname} {pid}`. ### Supported Variables - **{request}** - Full HTTP request message - **{response}** - Full HTTP response message - **{ts} / {date_iso_8601}** - ISO 8601 date in GMT - **{method}** - Method of the request - **{uri}** - URI of the request - **{code}** - Status code of the response - **{cost}** - Cost Time - **{req_header_*} / {res_header_*}** - Specific request/response headers - **{req_body} / {res_body}** - Request/Response body - **{pid}** - Process ID ``` -------------------------------- ### Configure Product Network for Endpoint Splicing Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/10-Endpoint-EN.md Set the `productNetwork` property to specify the network type for endpoint splicing. This is effective when the VPC network is enabled or the product SDK has an Endpoint data file. ```java request.productNetwork = "public"; ``` ```java request.productNetwork = "share"; ``` ```java request.productNetwork = "ipv6"; ``` ```java request.productNetwork = "proxy"; ``` ```java request.productNetwork = "inner"; ``` ```java request.productNetwork = "dualstack"; ``` ```java request.productNetwork = "vpc"; ``` -------------------------------- ### Set Custom Log Format Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/8-Log-EN.md Use the setLogFormat method on the profile object to define a custom log format string. The default format is '{method} {uri} HTTP/{version} {code} {cost} {hostname} {pid}'. ```java profile.setLogFormat(format) ``` -------------------------------- ### Add Global or Request-Specific Endpoint Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/10-Endpoint-EN.md Configure a global endpoint for a product and region, or set a specific endpoint for the current request using `setSysEndpoint`. ```java DefaultProfile.addEndpoint("", "", ""); ``` ```java DescribeRegionsRequest request = new DescribeRegionsRequest(); request.setSysEndpoint(""); ``` -------------------------------- ### Use HTTPS for Request Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/5-HTTPS-EN.md Set the system protocol to HTTPS for a request. ```java request.setSysProtocol(com.aliyuncs.http.ProtocolType.HTTPS); ``` -------------------------------- ### ListTranscodeTask, GetTranscodeTask, GetTranscodeSummary APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt New APIs are introduced for listing and retrieving transcode tasks and summaries. ```APIDOC ## Transcode Task Management APIs ### Description APIs for managing transcode tasks. ### Methods - **ListTranscodeTask**: Lists transcode tasks. - **GetTranscodeTask**: Retrieves details of a specific transcode task. - **GetTranscodeSummary**: Retrieves a summary of transcode operations. ``` -------------------------------- ### Set Accept Format to JSON Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/9-Exception-EN.md Use this to ensure the server response is in JSON format. This is a common fix for 'Server response has a bad format type' exceptions. ```java request.setAcceptFormat(FormatType.JSON); ``` -------------------------------- ### Message Callback Management APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt New APIs are available for setting, retrieving, and deleting message callback configurations. ```APIDOC ## Message Callback Management APIs ### Description APIs for managing message callback configurations. ### Methods - **SetMessageCallback**: Sets the message callback configuration. - **GetMessageCallback**: Retrieves the message callback configuration. - **DeleteMessageCallback**: Deletes the message callback configuration. ``` -------------------------------- ### Set Default Client Timeouts Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/4-Timeout-EN.md Configure default connection and read timeouts for all requests made by a client. These settings are applied globally via HttpClientConfig. ```java HttpClientConfig clientConfig = HttpClientConfig.getDefault(); clientConfig.setReadTimeoutMillis(readTimeoutMillis); clientConfig.setConnectionTimeoutMillis(connectionTimeoutMillis); IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); profile.setHttpClientConfig(clientConfig); DefaultAcsClient client = new DefaultAcsClient(profile); ``` -------------------------------- ### Receive Raw HTTP Response Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/9-Exception-EN.md This code can be used as an alternative solution if setting the accept format does not resolve the 'Server response has a bad format type' exception. It allows for manual inspection of the response. ```java HttpResponse response = client.doAction(request); ``` -------------------------------- ### Customize Certificate Validation Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/5-HTTPS-EN.md Configure custom TrustManagers and KeyManagers for certificate validation. This requires user implementation of the KeyManager and X509TrustManager interfaces. ```java // Client HTTPS configurations HttpClientConfig clientConfig = HttpClientConfig.getDefault(); // Configure user-defined TrustManagers clientConfig.setX509TrustManagers(clientTrustManagers); // Configure user-defined KeyManagers clientConfig.setKeyManagers(clientKeyManagers); IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); profile.setHttpClientConfig(clientConfig); DefaultAcsClient client = new DefaultAcsClient(profile); ``` -------------------------------- ### VoD App Management APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt New APIs are introduced for managing VoD Apps, including creation, retrieval, listing, updating, and deletion, as well as identity-related operations. ```APIDOC ## VoD App Management APIs ### Description APIs for managing VoD App resources. ### Methods - **CreateAppInfo**: Creates a new VoD App. - **GetAppInfos**: Retrieves information about VoD Apps. - **ListAppInfos**: Lists available VoD Apps. - **UpdateAppInfo**: Updates an existing VoD App. - **DeleteAppInfo**: Deletes a VoD App. - **AttachAppPolicyToIdentity**: Attaches an App policy to an identity. - **DetachAppPolicyFromIdentity**: Detaches an App policy from an identity. - **ListAppPoliciesForIdentity**: Lists App policies for an identity. - **MoveAppResource**: Moves an App resource. ``` -------------------------------- ### GetUploadDetails API Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt A new API, GetUploadDetails, is introduced to describe upload details such as uploading time and source. ```APIDOC ## GET /api/upload/details ### Description Retrieves details about an upload, including uploading time and source. ### Method GET ### Endpoint /api/upload/details ``` -------------------------------- ### Add ECS SDK Maven Dependencies Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/README.md Include these dependencies in your pom.xml to use the ECS SDK. Ensure you have the core SDK as well. ```xml com.aliyun aliyun-java-sdk-core [4.6.3,5.0.0) com.aliyun aliyun-java-sdk-ecs [4.16.0,5.0.0) ``` -------------------------------- ### GetVideoInfo and GetVideoInfos Request Update - Add AdditionType Field Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt The GetVideoInfo and GetVideoInfos API requests now include an 'AdditionType' field to fetch custom media info. ```APIDOC ## GetVideoInfo and GetVideoInfos Request Update ### Description Adds the 'AdditionType' field to GetVideoInfo and GetVideoInfos API requests to fetch custom media info. ### Parameters #### Query Parameters (for relevant APIs) - **AdditionType** (string) - Optional - Type of addition to fetch (e.g., CustomMediaInfo). ``` -------------------------------- ### SubmitSnapshotJob - Add UserData Field Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt The SubmitSnapshotJob API now includes a 'UserData' field to support user-defined extension fields. ```APIDOC ## POST /api/snapshot/job/submit ### Description Adds a new field named UserData to the SubmitSnapshotJob API request to support user-defined extension fields. ### Method POST ### Endpoint /api/snapshot/job/submit ### Parameters #### Request Body - **UserData** (string) - Optional - User-defined extension fields. ``` -------------------------------- ### Attached Media Management APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt New APIs are introduced for retrieving, updating, and deleting attached media information. ```APIDOC ## Attached Media Management APIs ### Description APIs for managing attached media information. ### Methods - **GetAttachedMedia**: Retrieves attached media information. - **UpdateAttachedMediaInfos**: Updates attached media information. - **DeleteAttachedMedia**: Deletes attached media. ``` -------------------------------- ### Ignore SSL Certificate Verification Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/docs/5-HTTPS-EN.md Configure the HTTP client to ignore server certificate verification. This setting must be applied when the client is initialized. If already initialized, close the existing client before applying this configuration. ```java // Client HTTPS configurations HttpClientConfig clientConfig = HttpClientConfig.getDefault(); // Configure not to verify the server certificates clientConfig.setIgnoreSSLCerts(true); IClientProfile profile = DefaultProfile.getProfile(regionId, accesskeyId, accesskeySecret); profile.setHttpClientConfig(clientConfig); DefaultAcsClient client = new DefaultAcsClient(profile); ``` -------------------------------- ### VoD Usage Data APIs Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt New APIs are available to fetch usage data from Video on Demand (VoD), including domain usage, storage, transcoding, and AI data. ```APIDOC ## VoD Usage Data APIs ### Description APIs to fetch usage data from VoD. ### Methods - **DescribeVodDomainUsageData**: Fetches VoD domain usage data. - **DescribeVodStorageData**: Fetches VoD storage data. - **DescribeVodTranscodeData**: Fetches VoD transcoding data. - **DescribeVodAIData**: Fetches VoD AI data. ``` -------------------------------- ### GetAIVideoTagResult API Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt A new API, GetAIVideoTagResult, is available to describe the result of AI tagging for videos. ```APIDOC ## GET /api/ai/video/tag/result ### Description Retrieves the result of AI video tagging. ### Method GET ### Endpoint /api/ai/video/tag/result ``` -------------------------------- ### Add Gson and OpenTracing Dependencies Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/README.md These dependencies are required if your Maven repository is not downloading JAR packages from a central repository. They are essential for JSON parsing and distributed tracing. ```xml com.google.code.gson gson 2.10.1 io.opentracing opentracing-api 0.33.0 io.opentracing opentracing-util 0.33.0 ``` -------------------------------- ### SubmitTranscodeJobs - Add UserData Field Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt The SubmitTranscodeJobs API now includes a 'UserData' field to support user-defined extension fields for transparent return during callbacks. ```APIDOC ## POST /api/transcode/jobs/submit ### Description Adds a new field named UserData to the SubmitTranscodeJobs API request to support user-defined extension fields, which can be used for transparent return when callbacks. ### Method POST ### Endpoint /api/transcode/jobs/submit ### Parameters #### Request Body - **UserData** (string) - Optional - User-defined extension fields for transparent return during callbacks. ``` -------------------------------- ### SubmitAIMediaAuditJob - Add MediaType Field Source: https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-vod/ChangeLog.txt Introduces a new 'MediaType' field to the SubmitAIMediaAuditJob API request for enhanced media type specification. ```APIDOC ## POST /api/media/audit/submit ### Description Adds a new field named MediaType to the SubmitAIMediaAuditJob API request. ### Method POST ### Endpoint /api/media/audit/submit ### Parameters #### Request Body - **MediaType** (string) - Required - Specifies the media type for the audit job. ```