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

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

メディア アクション スキーマを選択する

  • Video On Demand スキーマは、MovieTVEpisodeTVSeriesTVSeason エンティティを検証します。
  • ライブテレビ スキーマは、BroadcastEventBroadcastServiceCableOrSatelliteServiceMovieOrganizationSportsEventTelevisionChannelTVEpisodeTVSeasonTVSeries エンティティを検証します。
  • 音楽スキーマは、MusicAlbumMusicGroupMusicPlaylistMusicRecording のエンティティを検証します。
  • ラジオのスキーマは、RadioBroadcastService エンティティを検証します。
で確認できます。

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

バリデータを選択する

バリデータの実装の一覧は json-schema.org でご確認いただけます。

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

検証の例

次の例は、ファイル内のすべてのエンティティを検証する方法を示しています。 スキーマ ファイル schema.json と Python モジュール jsonschema を使用した 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")