JSON スキーマを使用してエンティティを検証する

フィードの作成または更新時にエンティティを検証するには、次の JSON スキーマを使用します。スキーマは JSON スキーマ仕様に基づいています。生成したエンティティを検証する単体テストを追加することで、フィードの品質に影響する問題を検出できます。フィード開発時にこれらのスキーマを使用して、一般的なエラーを回避することもできます。

Media Actions スキーマを選択する

  • ビデオ オンデマンド スキーマは、MovieTVEpisodeTVSeriesTVSeason エンティティを検証します。
  • ライブテレビ スキーマは、BroadcastEventBroadcastServiceCableOrSatelliteServiceMovieOrganizationSportsEventTelevisionChannelTVEpisodeTVSeasonTVSeries エンティティを検証します。
  • 音楽スキーマは、MusicAlbumMusicGroupMusicPlaylistMusicRecording エンティティを検証します。
  • ラジオ スキーマは、RadioBroadcastService エンティティを検証します。

これらのスキーマにはすべての機能が実装されていない可能性があるため、このサイトの仕様を信頼できる情報源として使用してください。

バリデータを選択する

検証ツールの実装のリストは json-schema.org で確認できます。

提供されているスキーマは ドラフト 7 で記述されているため、選択した実装がこのバージョンをサポートしている必要があります。

検証の例

次の例は、スキーマ ファイル schema.jsonjsonschema Python モジュールを使用して、ファイル feed.json に存在するすべてのエンティティを検証する方法を示しています。エンティティは、データフィード エンベロープのドキュメントで指定されているプロパティ dataFeedElement にあります。


    import json
    from jsonschema import validate

    # Loading the schema file
    with open("schema.json", "r") as fp:
        schema = json.load(fp)

    # Opening the feed
    with open("feed.json", "r") as fp:
        feed = json.load(fp)

    # Validating each entity in the feed
    for entity in feed["dataFeedElement"] :
        try:
            validate(schema=schema, instance=entity)
            print("Entity validated successfully")
        except Exception as e:
            # e may contain an explanation as to why the entity wasn't valid
            print("Failed to validate the entity")