Metadados do Analytics OData

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Compreender os metadados associados ao modelo de entidade do Google Analytics é um pré-requisito para consultar programaticamente o modelo de dados do Google Analytics. Os metadados OData são uma descrição legível por máquina do modelo de entidade projetado para permitir o consumo do cliente.

Nota

"O Open Data Protocol (OData) é um protocolo de acesso a dados construído em protocolos centrais como HTTP e metodologias comumente aceitas como REST para a web. Existem vários tipos de bibliotecas e ferramentas que podem ser usadas para consumir serviços OData." - Tutorial Básico da Organização OData.

Neste artigo, você aprenderá a:

  • Consultar os metadados de um projeto específico
  • Consultar os metadados de uma organização
  • Identificar as chaves, propriedades e propriedades de navegação associadas a uma Entidade
  • Identificar os recursos do endpoint OData do Google Analytics

Para obter descrições detalhadas para todos os elementos OData, consulte Modelo OData. Para obter informações sobre como consultar os metadados, consulte Construct OData queries for Analytics.

Nota

O serviço Analytics é automaticamente ativado e suportado na produção para todos os Azure DevOps Services. A integração do Power BI e o acesso ao feed OData do serviço Analytics estão geralmente disponíveis. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários. Os dados disponíveis dependem da versão. A última versão suportada é v2.0, e a versão de pré-visualização mais recente é v4.0-preview. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.

Nota

O serviço Analytics é instalado automaticamente e suportado na produção para todas as novas coleções de projetos para o Azure DevOps Server 2020 e versões posteriores. A integração do Power BI e o acesso ao feed OData do serviço Analytics estão geralmente disponíveis. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários. Se tiver atualizado a partir do Azure DevOps Server 2019, poderá instalar o serviço Analytics durante a atualização.

Os dados disponíveis dependem da versão. A última versão suportada é v2.0, e a versão de pré-visualização mais recente é v4.0-preview. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.

Nota

O serviço Analytics está em pré-visualização para o Azure DevOps Server 2019. Pode ativá-lo ou instalá-lo para uma coleção de projetos. A integração do Power BI e o acesso ao feed OData do serviço Analytics estão em pré-visualização. Recomendamos a sua utilização e solicitamos que nos envie os seus comentários.

Os dados disponíveis dependem da versão. A última versão suportada é v2.0, e a versão de pré-visualização mais recente é v4.0-preview. Para obter mais informações, consulte o artigo Controlo de Versões da API OData.

Conjuntos de entidades e tipos de entidades

As entidades são os principais tipos de identidade em um modelo de dados. Os conjuntos de entidades são denominados coleções de entidades. Por exemplo, Projects é um conjunto de entidades que contém Project entidades. Uma entidade pode ser membro de, no máximo, um conjunto de entidades.

EntitySets e EntityTypes definir cada uma das entidades no modelo do Analytics, incluindo propriedades e relações. Os tipos de entidade definem as propriedades nomeadas e as relações de uma entidade. Os tipos de entidade podem derivar por herança única de outros tipos de entidade. A chave de um tipo de entidade é formada a partir de um subconjunto de suas propriedades primitivas.

O exemplo a seguir mostra os metadados associados ao Project tipo de entidade.

<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>

Chaves

Keys definir as propriedades de Entidade disponíveis para uso como uma Propriedade de Navegação.

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

Propriedades

O conjunto de 'Propriedades da entidade disponíveis para consulta. As anotações representam outros detalhes sobre uma determinada propriedade.

Qualquer propriedade do Google Analytics que deva ser visível para os usuários finais é anotada com um DisplayNamearquivo .

<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 é outra anotação comum usada para definir o identificador do sistema para uma propriedade específica.

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

Consultar uma entidade individual é útil. Eventualmente, você provavelmente desejará filtrar ou expandir os detalhes de outra Entidade. Para fazer isso, você precisa entender como usar as Propriedades de Navegação do modelo de Entidade.

A NavigationProperty com um tipo de coleção representa uma relação muitos-para-muitos no modelo.

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

ReferentialConstraints Vincule as propriedades de navegação a uma chave específica de uma entidade, representando uma relação muitos-para-um no modelo.

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

Contêineres (recursos OData)

Conjuntos de Entidades

As entidades são os principais tipos de identidade em um modelo de dados. Os conjuntos de entidades são denominados coleções de entidades. Por exemplo, WorkItems e WorkItemRevisions estão EntitySets dentro do EntityContainer nome Container. Uma entidade pode ser membro de, no máximo, um conjunto de entidades. Os conjuntos de entidades fornecem os pontos de entrada primários no modelo de dados e representam uma coleção de entidades e anotações e associações de propriedades de navegação associadas.

A sintaxe a seguir indica o modelo de dados do Projects conjunto de entidades. Para obter uma descrição de cada conjunto de entidades, consulte Modelo de dados para análise.

<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>

Capacidades

Os recursos definem o conjunto de funções compreendidas pelo ponto de extremidade OData do Analytics.

<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>

Agregações

As anotações de agregação definem o conjunto de transformações compreendidas pelo endpoint OData do Analytics.

<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>

Próximos passos