媒资操作
更新时间:2022-09-01
处理媒资
使用如下代码可以处理一个媒资。
private void processMedia(BvwClient client) {
String sourceBucket = "<your bucket>";
String sourcekey = "<your key>";
String title = "<your media title>";
String description = "<your media description>";
String workflowName = "<your workflow name>";
MediaProcessRequest processRequest = MediaProcessRequest.of(sourceBucket, sourcekey, title,
description, workflowName);
MediaProcessResponse response = client.processMedia(processRequest);
}
private void processMediaWithMediaId(BvwClient client) {
String mediaId = "<your media id>";
String workflowName = "<your workflow name>";
MediaProcessRequest processRequest = MediaProcessRequest.of(mediaId, workflowName);
MediaProcessResponse response = client.processMedia(processRequest);
}
处理媒资有两种情况:
- 创建媒资:提供sourceBucket、sourceKey、title以及description,如果该路径对应的媒资在videoworks中不存在,则创建媒资,生成meidiaId,否则返回已有mediaId,不允许重复创建;
- 处理媒资:使用已有的mediaId和workflow对媒资进行再次处理,返回处理对应的实例instanceId;
删除媒资
使用如下代码可以删除一个媒资。
private void deleteMedia(BvwClient client, String mediaId) {
client.deleteMedia(mediaId);
}
删除媒资操作将保留媒资源文件,删除处理媒资生成的分发文件,并刷新分发文件在CDN的缓存。
批量删除媒资
使用如下代码可以批量删除媒资。
private void batchDeleteMedia(BvwClient client, List<String> mediaIds) {
client.batchDeleteMedia(mediaIds);
}
更新媒资
使用如下代码可以更新一个媒资。
private void updateMedia(BvwClient client, String mediaId, String title, String description) {
MediaUpdateRequest updateRequest = MediaUpdateRequest.of(mediaId, title, description);
client.updateMedia(updateRequest);
}
查询媒资
使用如下代码可以查询一个媒资。
private void getMedia(BvwClient client, String mediaId) {
MediaGetResponse response = client.getMedia(mediaId);
}
查询媒资实例列表
使用如下代码可以查询一个媒资运行的实例列表信息。
private void getMediaInstances(BvwClient client, String mediaId) {
MediaInstanceListResponse response = client.getMediaInstanceList(mediaId);
}
查询媒资列表(分页机制)
使用如下代码可以查询媒资列表分页信息。
private void listMedia(BvwClient client) {
int pageNo = 1;
int pageSize = 10;
String begin = "2019-06-30T16:00:00Z";
String end = "2019-07-30T16:00:00Z";
MediaStatus status = MediaStatus.NORMAL;
RunnableStatus instanceStatus = RunnableStatus.SUCCESS;
String mediaId = null;
String titleFuzzy = "movie";
String order = "desc";
String orderBy = "createTime";
MediaListRequest listRequest = MediaListRequest.of(pageNo, pageSize, begin, end,
status, instanceStatus,
mediaId, titleFuzzy, order, orderBy);
ListByPageResponse<MediaListResponse> response = client.listMedia(listRequest);
}
- 查询媒资列表分页时,只有pageNo和pageSize是必选参数,其他均为可选。
- title参数为模糊查询,mediaId参数为精确查询。
- order和orderBy的参数在传入多个时以英文逗号分隔,且一一对应,例如:"order=asc,desc&orderBy=createTime,status",表示按创建时间升序、按状态降序排列。
封禁媒资
使用如下代码可以封禁一个媒资。
private void banMedia(BvwClient client, String mediaId) {
client.banMedia(mediaId);
}
封禁媒资操作将设置处理媒资生成的分发文件在BOS的访问权限ACL为私有private,并刷新分发文件在CDN的缓存。
解禁媒资
使用如下代码可以解禁一个媒资。
private void unbanMedia(BvwClient client, String mediaId) {
client.unbanMedia(mediaId);
}
解禁媒资操作将设置处理媒资生成的分发文件在BOS的访问权限ACL为公共读public-read。