すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:メディアアセット情報のクエリ

最終更新日:Jun 22, 2026

メディアライブラリに大量のオーディオ、ビデオ、画像ファイルが保存されている場合、特定のアセットを迅速に見つけ出すことは困難になります。ApsaraVideo VOD のメディアアセット検索機能は、強力な多次元検索、フィルター、ソート機能を提供します。これにより、コンソールや API/SDK を使用して、膨大なデータセットから必要なメディアアセットを効率的に取得できます。

シナリオ 1:コンソールでの検索

オーディオまたはビデオアセットを検索するには、次の手順に従います。

  1. ApsaraVideo VOD コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、メディアファイル > [オーディオ/ビデオ] を選択します。

  3. ページ上部のフィルター機能と検索機能を使用して、メディアアセットを検索します。

    • 検索: メディア名 によるあいまい検索と、メディア ID または タグ名 による完全一致検索をサポートしています。

    • フィルター: オーディオ/ビデオ ファイルを ストレージアドレスタイプ分類ステータスソース、および ストレージタイプ でフィルタリングできます。また、結果を 作成日時 で昇順または降順にソートすることもできます。

シナリオ 2:API と SDK を使用した検索

説明

メディアアセットの検索には、サーバーサイド SDK の使用を推奨します。詳細については、「VOD SDK の使用方法」をご参照ください。

SearchMedia API オペレーションを使用すると、検索機能を業務システムに統合できます。フィルター可能なフィールドには、VideoIdCateIdStorageLocationTitleTags などがあります。詳細については、「メディアアセット検索のプロトコル」をご参照ください。以下にコード例を示します。

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.vod.model.v20170321.SearchMediaRequest;
import com.aliyuncs.vod.model.v20170321.SearchMediaResponse;
public class SearchMediaExample {
    public static void main(String[] args) {
        // クライアントを初期化します。
        DefaultProfile profile = DefaultProfile.getProfile(
            "cn-shanghai",          // リージョン ID。
            "YOUR_ACCESS_KEY_ID",   // ご利用の AccessKey ID。
            "YOUR_ACCESS_KEY_SECRET"// ご利用の AccessKey Secret。
        );
        IAcsClient client = new DefaultAcsClient(profile);
        // リクエストを構築します。
        SearchMediaRequest request = new SearchMediaRequest();
        request.setMatch("Title='VOD' AND Status='Normal'");
        request.setFields("Title,CoverURL,Duration,Size");
        request.setSortBy("CreationTime:Desc");
        request.setPageSize(20);
        request.setPageNo(1);
        try {
            SearchMediaResponse response = client.getAcsResponse(request);
            System.out.println("Total Records: " + response.getTotal());
            for (SearchMediaResponse.Media media : response.getMediaList()) {
                System.out.println("VideoId: " + media.getMediaId() + ", Title: " + media.getVideo().getTitle());
            }
        } catch (Exception e) {
            System.err.println("An error occurred: " + e.getMessage());
            e.printStackTrace();
        }
    }
}
from aliyunsdkcore.client import AcsClient
from aliyunsdkvod.request.v20170321 import SearchMediaRequest
import json
# クライアントを初期化します。
client = AcsClient(
    'YOUR_ACCESS_KEY_ID', 
    'YOUR_ACCESS_KEY_SECRET', 
    'cn-shanghai'
)
# リクエストを構築します。
request = SearchMediaRequest.SearchMediaRequest()
request.set_Match("Title='VOD' AND Status='Normal'")
request.set_Fields("Title,CoverURL,Duration,Size")
request.set_SortBy("CreationTime:Desc")
request.set_PageSize(20)
request.set_PageNo(1)
try:
    response_str = client.do_action_with_exception(request)
    response_data = json.loads(response_str)
    print(f"Total Records: {response_data.get('Total')}")
    for media in response_data.get('MediaList', {}).get('Media', []):
        print(f"VideoId: {media.get('MediaId')}, Title: {media.get('Video', {}).get('Title')}")
except Exception as e:
    print(f"An error occurred: {e}")

ページネーションとデータ走査

クエリのパフォーマンスを確保するため、メディアアセット検索では 2 つのページネーションモードが提供されています。

  • 標準ページネーション (UI 表示用)

    PageNoPageSize のページネーションパラメーターを使用して、ページごとにデータを取得します。この方法では、最初の 5,000 件の結果にのみアクセスできます。

  • スクロール (データエクスポート用)

    PageNoPageSize のページネーションパラメーター、および ScrollToken スクロールトークンを使用して、すべての結果を走査します。この方法では、結果は最大 1,200 レコードずつのセグメントで取得されます。以下にコード例を示します。

    // スクロールの例
    String scrollToken = null;
    // SessionId は、完全な走査の間、変更せずに維持する必要があります。
    String sessionId = java.util.UUID.randomUUID().toString(); 
    List<SearchMediaResponse.Media> allMedia = new ArrayList<>();
    do {
        SearchMediaRequest request = new SearchMediaRequest();
        request.setPageSize(100); // 一度に最大 100 件のレコードを取得します。
        request.setSessionId(sessionId);
        if (scrollToken != null) {
            request.setScrollToken(scrollToken);
        }
        SearchMediaResponse response = client.getAcsResponse(request);
        if (response.getMediaList() != null) {
            allMedia.addAll(response.getMediaList());
        }
        scrollToken = response.getScrollToken();
    // 返された scrollToken が null または空の場合、すべてのデータが走査されたことを意味します。
    } while (scrollToken != null && !scrollToken.isEmpty());
    

API 呼び出し例

次のセクションのサンプルコードでは、ビデオ情報のクエリに使用されるクエリ文について説明します。

重要
  • リクエストを送信する前に、リクエストパラメーターに対して URL エンコーディングを実行する必要があります。

  • 文で使用される等号 (=)、二重引用符 (")、単一引用符 (')、および括弧は、半角文字である必要があります。

項目

説明

返却フィールド

デフォルトでは、SearchMedia API オペレーションはメディアアセットの基本情報を返します。追加情報を含めるには、Fields パラメーターを指定します。次の例は、クエリ結果に TitleCoverURL を含める方法を示しています。

Fields=Title,CoverURL

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Fields=Title,CoverURL

完全一致

VideoId28ba2b26d540446c94cdd2c4c48090e5 であるメディアアセットを検索するには:

VideoId='28ba2b26d540446c94cdd2c4c48090e5'

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Match=VideoId='28ba2b26d540446c94cdd2c4c48090e5'

あいまい一致

Titlemusic が含まれる場合、次のように記述できます。

Title='Music'

または

Title in ('Music')

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Match=Title='Music'

複数値クエリ

注:クエリに使用されるフィールドがあいまい一致のみをサポートしている場合、クエリ結果もあいまい一致に基づいて返されます。

StatusNormal または Checking であるメディアアセットを検索するには:

Status in ('Normal','Checking')

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Match=Status in ('Normal','Checking')

範囲クエリ

CreationTime2018-01-01T00:00:00Z2018-02-01T00:00:00Z の間であるメディアアセットを検索するには:

CreationTime=('2018-01-01T00:00:00Z','2018-02-01T00:00:00Z')

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Match=CreationTime=('2018-01-01T00:00:00Z','2018-02-01T00:00:00Z')

左側または右側の境界のみを指定する場合は、もう一方の境界の値を空のままにします。例えば、CreationTime2018-01-01T00:00:00Z より大きいと指定するには:

CreationTime=('2018-01-01T00:00:00Z',)

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&Match=CreationTime=('2018-01-01T00:00:00Z',)

ソートフィールド

作成時間に基づいてメディアアセット情報を逆時系列でソートするには:

CreationTime:Desc

リクエスト例:

http://vod.cn-shanghai.aliyuncs.com?Action=SearchMedia
&SortBy=CreationTime:Desc

参考