Sdílet prostřednictvím


Metadata OData analytics

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pochopení metadat přidružených k modelu entity pro Analýzu je předpokladem pro programové dotazování datového modelu pro analýzu. Metadata OData jsou strojově čitelný popis modelu entity, který je navržený tak, aby umožňoval spotřebu klientů.

Poznámka:

"Open Data Protocol (OData) je protokol pro přístup k datům založený na základních protokolech, jako je HTTP a běžně přijímané metodologie, jako je REST pro web. K využívání služeb OData je možné použít různé druhy knihoven a nástrojů. - Základní kurz organizace OData

V tomto článku se dozvíte, jak:

  • Dotazování na metadata konkrétního projektu
  • Dotazování na metadata v organizaci
  • Identifikace klíčů, vlastností a navigačních vlastností přidružených k entitě
  • Identifikace možností koncového bodu Analytics OData

Podrobné popisy všech elementů OData najdete v modelu OData. Informace o dotazování metadat najdete v tématu Vytváření dotazů OData pro analýzu.

Poznámka:

Služba Analytics je automaticky povolená a podporovaná v produkčním prostředí pro všechny služby Azure DevOps Services. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics se automaticky nainstaluje a podporuje v produkčním prostředí pro všechny nové kolekce projektů pro Azure DevOps Server 2020 a novější verze. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou obecně dostupné. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu. Pokud jste upgradovali z Azure DevOps Serveru 2019, můžete během upgradu nainstalovat službu Analytics.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Poznámka:

Služba Analytics je ve verzi Preview pro Azure DevOps Server 2019. Můžete ji povolit nebo nainstalovat pro kolekci projektů. Integrace Power BI a přístup k datovému kanálu OData služby Analytics jsou ve verzi Preview. Doporučujeme, abyste ho používali a poskytli nám zpětnou vazbu.

Dostupná data jsou závislá na verzi. Nejnovější podporovaná verze je v2.0a nejnovější verze Preview je v4.0-preview. Další informace najdete v tématu Správa verzí rozhraní API OData.

Sady entit a typy entit

Entity jsou základní typy identit v datovém modelu. Sady entit jsou pojmenované kolekce entit. Jedná se například Projects o sadu entit obsahující Project entity. Entita může být členem maximálně jedné sady entit.

EntitySets a EntityTypes definujte každou entitu v modelu Analýzy, včetně vlastností a relací. Typy entit definují pojmenované vlastnosti a relace entity. Typy entit mohou být odvozeny od jediné dědičnosti z jiných typů entit. Klíč typu entity je tvořen podmnožinou jeho primitivních vlastností.

Následující příklad ukazuje metadata přidružená k Project typu entity.

<EntityType Name="Project">
  <Key>
    <PropertyRef Name="ProjectSK"/>
  </Key>
  <Property Name="ProjectSK" Type="Edm.Guid" Nullable="false"/>
  <Property Name="ProjectId" Type="Edm.Guid" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Id"/>
  </Property>
  <Property Name="ProjectName" Type="Edm.String" Nullable="false">
    <Annotation Term="Display.DisplayName" String="Project Name"/>
  </Property>
  <Property Name="AnalyticsUpdatedDate" Type="Edm.DateTimeOffset"/>
  <Property Name="ProjectVisibility" Type="Microsoft.VisualStudio.Services.Analytics.Model.ProjectVisibility">
    <Annotation Term="Display.DisplayName" String="Project Visibility"/>
  </Property>
  <NavigationProperty Name="Areas" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Area)"/>
  <NavigationProperty Name="Iterations" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Iteration)"/>
  <NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
</EntityType>

Klávesy

Keys definovat vlastnosti entity, které jsou k dispozici pro použití jako navigační vlastnost.

<Key>
   <PropertyRef Name="ProjectSK"/>
</Key>

Vlastnosti

Sada vlastností entity, které jsou k dispozici pro dotaz. Poznámky představují další podrobnosti o dané vlastnosti.

Libovolná vlastnost Analytics, která by měla být viditelná koncovým uživatelům, je opatřena poznámkami DisplayName.

<Property Name="ProjectSK" Nullable="false" Type="Edm.Guid"/>
<Property Name="ProjectId" Nullable="false" Type="Edm.Guid">
   <Annotation String="Project Id" Term="Display.DisplayName"/>
</Property>
<Property Name="ProjectName" Nullable="false" Type="Edm.String">
   <Annotation String="Project Name" Term="Display.DisplayName"/>
</Property>

ReferenceName je další společná poznámka, která slouží k definování systémového identifikátoru pro konkrétní vlastnost.

<Property Name="State" Type="Edm.String">
   <Annotation String="State" Term="Display.DisplayName"/>
   <Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>

Dotazování na jednotlivé entity je užitečné. Nakonec budete pravděpodobně chtít filtrovat nebo rozbalit podrobnosti o jiné entitě. Abyste to mohli udělat, musíte vědět, jak používat navigační vlastnosti modelu entity.

Typ NavigationProperty kolekce představuje relaci M:N v modelu.

<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>

ReferentialConstraints Propojte navigační vlastnosti s konkrétním klíčem entity, který představuje relaci M:1 v modelu.

<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
   <ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>

Kontejnery (možnosti OData)

EntitySets

Entity jsou základní typy identit v datovém modelu. Sady entit jsou pojmenované kolekce entit. Například WorkItems a nachází se EntitySets v pojmenovaném EntityContainer Container.WorkItemRevisions Entita může být členem maximálně jedné sady entit. Sady entit poskytují primární vstupní body do datového modelu a představují kolekci entit a přidružených vazeb a poznámek navigačních vlastností.

Následující syntaxe označuje Projects datový model sady entit. Popis každé sady entit najdete v tématu Datový model pro analýzu.

<EntitySet Name="Projects" EntityType="Microsoft.VisualStudio.Services.Analytics.Model.Project">
  <NavigationPropertyBinding Path="Areas" Target="Areas"/>
  <NavigationPropertyBinding Path="Iterations" Target="Iterations"/>
  <NavigationPropertyBinding Path="Teams" Target="Teams"/>
  <Annotation Term="Org.OData.Display.V1.DisplayName" String="Projects"/>
</EntitySet>

Možnosti

Možnosti definují sadu funkcí , které rozumí koncový bod Analytics OData.

<Annotation Term="Org.OData.Capabilities.V1.FilterFunctions">
   <Collection>
      <String>contains</String>
      <String>endswith</String>
      <String>startswith</String>
      <String>length</String>
      <String>indexof</String>
      <String>substring</String>
      <String>tolower</String>
      <String>toupper</String>
      <String>trim</String>
      <String>concat</String>
      <String>year</String>
      <String>month</String>
      <String>day</String>
      <String>hour</String>
      <String>minute</String>
      <String>second</String>
      <String>fractionalseconds</String>
      <String>round</String>
      <String>floor</String>
      <String>ceiling</String>
      <String>date</String>
      <String>time</String>
      <String>isof</String>
      <String>cast</String>
   </Collection>
</Annotation>

Agregace

Agregační poznámky definují sadu transformací , které rozumí koncový bod Analytics OData.

<Annotation Term="Org.OData.Aggregation.V1.ApplySupported">
   <Record>
      <PropertyValue Property="Transformations">
         <Collection>
            <String>aggregate</String>
            <String>filter</String>
            <String>groupby</String>
            <String>compute</String>
            <String>expand</String>
         </Collection>
      </PropertyValue>
      <PropertyValue Property="CustomAggregationMethods ">
         <Collection>
           <String>ax.ApproxCountDistinct</String>
           <String>ax.StandardDeviation</String>
           <String>ax.StandardDeviationP</String>
           <String>ax.Variance</String>
           <String>ax.VarianceP</String>
         </Collection>
      </PropertyValue>
   </Record>
</Annotation>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType" Bool="true"/>
<Annotation Term="Org.OData.Capabilities.V1.BatchSupportType">
   <Record>
      <PropertyValue Property="Supported" Bool="true"/>
      <PropertyValue Property="ContinueOnErrorSupported" Bool="false"/>
      <PropertyValue Property="ReferencesInRequestBodiesSupported" Bool="false"/>
      <PropertyValue Property="ReferencesAcrossChangeSetsSupported" Bool="false"/>
      <PropertyValue Property="EtagReferencesSupported" Bool="false"/>
   </Record>
</Annotation>

Další kroky