ApsaraVideo Media Processing (MPS) のメディアライブラリにメディアファイルを追加した後、メディアファイルを処理するワークフローの ID を指定できます。このトピックでは、Java V2.0 用 MPS SDK を使用してメディアライブラリにメディアファイルを追加し、特定のワークフローをトリガーしてメディアファイルを処理する方法の例を示します。
説明
追加するメディアファイルのディレクトリがトリガールールを満たしている場合、ワークフローがトリガーされます。そうでない場合、ワークフローはトリガーされません。詳細については、「ファイルのワークフローのトリガールール」をご参照ください。
package com.aliyun.sample;
import com.aliyun.tea.*;
public class Sample {
/**
* <b>説明</b> :
* <p>AccessKey ID と AccessKey シークレットを使用してクライアントを初期化します。</p>
* @return Client
*
* @throws Exception
*/
public static com.aliyun.mts20140618.Client createClient() throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
// 必須。 ALIBABA_CLOUD_ACCESS_KEY_ID 環境変数が設定されていることを確認します。
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// 必須。 ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境変数が設定されていることを確認します。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
config.endpoint = "mts.cn-qingdao.aliyuncs.com";
return new com.aliyun.mts20140618.Client(config);
}
public static void main(String[] args_) throws Exception {
java.util.List<String> args = java.util.Arrays.asList(args_);
com.aliyun.mts20140618.Client client = Sample.createClient();
com.aliyun.mts20140618.models.AddMediaRequest addMediaRequest = new com.aliyun.mts20140618.models.AddMediaRequest()
// 入力ファイルの URL。
.setFileURL("http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4")
// メディアのタイトル。
.setTitle("mytest")
// 説明。
.setDescription("A test video")
// メディアサムネイルの URL。
.setCoverURL("http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png")
// タグ。
.setTags("tag1,tag2")
// メディアワークフローの ID。
.setMediaWorkflowId("07da6c65da7f458997336e0de192****")
// メディアワークフローのカスタムデータ。
.setMediaWorkflowUserData("test")
// メディアワークフローが指定された入力パスをサポートしているかどうかを確認するかどうかを指定します。
.setInputUnbind(false)
// メディアファイルが属するカテゴリの ID。
.setCateId(123L)
// overrideParams パラメーターを設定します。
.setOverrideParams("{“subtitleTransNodeName”:{“InputConfig”:{“Format”:”stl”,”InputFile”:{“URL”:”http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl\"}}}}");
com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
try {
// 必要に応じて、API 操作のレスポンスを表示するための独自のコードを記述します。
client.addMediaWithOptions(addMediaRequest, runtime);
} catch (TeaException error) {
// 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
// エラーメッセージ。
System.out.println(error.getMessage());
// 対応するエラー診断ページの URL。
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
} catch (Exception _error) {
TeaException error = new TeaException(_error.getMessage(), _error);
// 実際のビジネスシナリオでは、例外を慎重に処理し、プロジェクトで例外を無視しないでください。この例では、エラーメッセージは参照用にのみ表示されます。
// エラーメッセージ。
System.out.println(error.getMessage());
// 対応するエラー診断ページの URL。
System.out.println(error.getData().get("Recommend"));
com.aliyun.teautil.Common.assertAsString(error.message);
}
}
}