Метаданные OData аналитики
Azure DevOps Services | Azure DevOps Server 2022 г. - Azure DevOps Server 2019 г.
Понимание метаданных, связанных с моделью сущностей для Аналитики, является необходимым условием для программного запроса модели данных для аналитики. Метаданные OData — это машиночитаемое описание модели сущности, предназначенное для обеспечения использования клиентом.
Примечание
"Open Data Protocol (OData) — это протокол доступа к данным, основанный на основных протоколах, таких как HTTP, и распространенных методологиях, таких как REST для Интернета. Существуют различные виды библиотек и инструментов, которые можно использовать для использования служб OData". - OData Organization Basic Tutorial.
Из этой статьи вы узнаете о следующем.
- Запрос метаданных для определенного проекта
- Запрос метаданных в организации
- Определение ключей, свойств и свойств навигации, связанных с сущностью
- Определение возможностей конечной точки OData аналитики
Подробные описания всех элементов OData см. в разделе Модель OData. Сведения о запросе метаданных см. в статье Создание запросов OData для Аналитики.
Примечание
Служба аналитики автоматически включается и поддерживается в рабочей среде для всех Azure DevOps Services.
Интеграция Power BI и доступ к веб-каналу OData службы аналитики являются общедоступными. Мы рекомендуем вам использовать его и оставить отзыв.
Доступные данные зависят от версии. Последняя поддерживаемая версия — v2.0
, а последняя предварительная версия — v4.0-preview
. Дополнительные сведения см. в разделе Управление версиями API OData.
Примечание
Служба аналитики автоматически устанавливается и поддерживается в рабочей среде для всех новых коллекций проектов для Azure DevOps Server 2020 и более поздних версий. Интеграция Power BI и доступ к веб-каналу OData службы аналитики являются общедоступными. Мы рекомендуем вам использовать его и оставить отзыв. Если вы обновили с Azure DevOps Server 2019 года, вы можете установить службу Аналитики во время обновления.
Доступные данные зависят от версии. Последняя поддерживаемая версия — v2.0
, а последняя предварительная версия — v4.0-preview
. Дополнительные сведения см. в разделе Управление версиями API OData.
Примечание
Служба аналитики доступна в предварительной версии для Azure DevOps Server 2019 г. Его можно включить или установить для коллекции проектов. Интеграция Power BI и доступ к веб-каналу OData службы аналитики доступны в предварительной версии. Мы рекомендуем вам использовать его и оставить отзыв.
Доступные данные зависят от версии. Последняя поддерживаемая версия — v2.0
, а последняя предварительная версия — v4.0-preview
. Дополнительные сведения см. в разделе Управление версиями API OData.
Наборы сущностей и типы сущностей
Сущности являются основными типами удостоверений в модели данных. Наборы сущностей — это именованные коллекции сущностей. Например, — это набор сущностей, Projects
содержащий сущности Project
. Сущность может быть членом не более одного набора сущностей.
EntitySets
и EntityTypes
определяют каждую из сущностей в модели аналитики, включая свойства и связи. Типы сущностей определяют именованные свойства и связи сущности. Типы сущностей могут наследоваться одним наследованием от других типов сущностей. Ключ типа сущности формируется из подмножества его примитивных свойств.
В следующем примере показаны метаданные, связанные с типом сущности Project
.
<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>
Ключи
Keys
определите свойства сущности, доступные для использования в качестве свойства навигации.
<Key>
<PropertyRef Name="ProjectSK"/>
</Key>
Свойства
Набор свойств сущности, доступных для запроса. Заметки представляют другие сведения о данном свойстве.
Любое свойство Analytics, которое должно быть видимым для конечных пользователей, замечается с помощью 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 — это еще одна распространенная заметка, используемая для определения системного идентификатора для определенного свойства.
<Property Name="State" Type="Edm.String">
<Annotation String="State" Term="Display.DisplayName"/>
<Annotation String="System.State" Term="Ref.ReferenceName"/>
</Property>
Свойства навигации
Запрос отдельной сущности полезен. В конечном итоге вы, вероятно, захотите отфильтровать или развернуть сведения о другой сущности. Для этого необходимо понять, как использовать свойства навигации модели сущности.
Объект NavigationaProperty
с типом коллекции представляет связь "многие ко многим" в модели.
<NavigationProperty Name="Teams" Type="Collection(Microsoft.VisualStudio.Services.Analytics.Model.Team)"/>
ReferentialConstraints
привязка свойств навигации к определенному ключу сущности, представляющего связь "многие к одному" в модели.
<NavigationProperty Name="Project" Type="Microsoft.VisualStudio.Services.Analytics.Model.Project">
<ReferentialConstraint ReferencedProperty="ProjectSK" Property="ProjectSK"/>
</NavigationProperty>
Контейнеры (возможности OData)
Наборы сущностей
Сущности являются основными типами удостоверений в модели данных. Наборы сущностей — это именованные коллекции сущностей. Например, WorkItems
и находятся EntitySets
в именованной EntityContainer
Container
.WorkItemRevisions
Сущность может быть членом не более одного набора сущностей. Наборы сущностей предоставляют основные точки входа в модель данных и представляют коллекцию сущностей и связанных привязок свойств навигации и заметок.
Следующий синтаксис указывает модель данных набора сущностей Projects
. Описание каждого набора сущностей см. в разделе Модель данных для аналитики.
<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>
Возможности
Возможности определяют набор функций , понятных конечной точке 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>
Статистические схемы
Заметки агрегирования определяют набор преобразований, понятных конечной точке 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>
Дальнейшие действия
Похожие статьи
- Модель данных для аналитики
- Запросы организации и проекта.
- Данные, доступные из Analytics
- Запрос данных отслеживания работы с помощью Аналитики
- Справочник по сущностям и свойствам для Azure Boards