package org.example.GetConvertWorkflow;
import com.volcengine.tos.TOSV2;
import com.volcengine.tos.TOSV2ClientBuilder;
import com.volcengine.tos.TosClientException;
import com.volcengine.tos.TosServerException;
import com.volcengine.tos.comm.common.*;
import com.volcengine.tos.model.bucket.*;
import com.volcengine.tos.model.object.*;
public class GetConvertWorkflowExample {
public static void main(String[] args) {
String endpoint = System.getenv("TOS_ENDPOINT");
String region = System.getenv("TOS_REGION");
String accessKey = System.getenv("TOS_ACCESS_KEY");
String secretKey = System.getenv("TOS_SECRET_KEY");
String bucketName = System.getenv("TOS_BUCKET");
if (region == null || region.isEmpty()) {
TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);
GetConvertWorkflowInput input = GetConvertWorkflowInput.builder()
GetConvertWorkflowOutput output = tos.getConvertWorkflow(input);
if (output != null && output.getRequestInfo() != null) {
System.out.println("RequestID: " + output.getRequestInfo().getRequestId());
System.out.println("StatusCode: " + output.getRequestInfo().getStatusCode());
if (output != null && output.getRules() != null) {
System.out.println("规则数量: " + output.getRules().size());
if (!output.getRules().isEmpty()) {
ConvertWorkflowRule firstRule = output.getRules().get(0);
if (firstRule != null) {
System.out.println("首条规则ID: " + firstRule.getId());
System.out.println("首条规则Enabled: " + firstRule.getEnabled());
System.out.println("首条规则Prefix: " + firstRule.getPrefix());
WorkflowExtFilter extFilter = firstRule.getExtFilter();
if (extFilter != null) {
if (extFilter.getAudioExts() != null) {
System.out.println("音频扩展 AudioExts: " + extFilter.getAudioExts());
if (extFilter.getVideoExts() != null) {
System.out.println("视频扩展 VideoExts: " + extFilter.getVideoExts());
if (firstRule.getTopology() != null) {
System.out.println("拓扑 Topology: " + firstRule.getTopology());
WorkflowOperations operations = firstRule.getOperations();
if (operations != null) {
if (operations.getTranscode() != null && !operations.getTranscode().isEmpty()) {
OperationsTranscode transcodeOp = operations.getTranscode().get(0);
if (transcodeOp != null) {
System.out.println("首个Transcode OperationID: " + transcodeOp.getOperationID());
System.out.println("首个Transcode TemplateID: " + transcodeOp.getTemplateID());
ConvertJobOutput transcodeOutput = transcodeOp.getOutput();
if (transcodeOutput != null) {
System.out.println("首个Transcode Output Region: " + transcodeOutput.getRegion());
System.out.println("首个Transcode Output Bucket: " + transcodeOutput.getBucket());
System.out.println("首个Transcode Output Object: " + transcodeOutput.getObject());
if (operations.getAudioTranscode() != null && !operations.getAudioTranscode().isEmpty()) {
OperationsAudioTranscode audioTranscodeOp = operations.getAudioTranscode().get(0);
if (audioTranscodeOp != null) {
System.out.println("首个AudioTranscode OperationID: " + audioTranscodeOp.getOperationID());
System.out.println("首个AudioTranscode TemplateID: " + audioTranscodeOp.getTemplateID());
ConvertJobOutput audioOutput = audioTranscodeOp.getOutput();
if (audioOutput != null) {
System.out.println("首个AudioTranscode Output Region: " + audioOutput.getRegion());
System.out.println("首个AudioTranscode Output Bucket: " + audioOutput.getBucket());
System.out.println("首个AudioTranscode Output Object: " + audioOutput.getObject());
} catch (TosClientException e) {
System.out.println("操作失败");
System.out.println("Message: " + e.getMessage());
if (e.getCause() != null) {
e.getCause().printStackTrace();
} catch (TosServerException e) {
System.out.println("操作失败");
System.out.println("StatusCode: " + e.getStatusCode());
System.out.println("Code: " + e.getCode());
System.out.println("Message: " + e.getMessage());
System.out.println("RequestID: " + e.getRequestID());
System.out.println("操作失败");
System.out.println("unexpected exception, message: " + t.getMessage());