internal DataFeedDetail GetDataFeedDetail() { DataFeedDetail detail = DataSource.InstantiateDataFeedDetail(Name, Granularity.GranularityType, Schema.MetricColumns, IngestionSettings.IngestionStartTime.Value); foreach (var column in Schema.DimensionColumns) { detail.Dimension.Add(column); } detail.TimestampColumn = Schema.TimestampColumn; detail.GranularityAmount = Granularity.CustomGranularityValue; detail.MaxConcurrency = IngestionSettings.DataSourceRequestConcurrency; detail.MinRetryIntervalInSeconds = (long?)IngestionSettings.IngestionRetryDelay?.TotalSeconds; detail.StartOffsetInSeconds = (long?)IngestionSettings.IngestionStartOffset?.TotalSeconds; detail.StopRetryAfterInSeconds = (long?)IngestionSettings.StopRetryAfter?.TotalSeconds; detail.DataFeedDescription = Description; detail.ActionLinkTemplate = ActionLinkTemplate; detail.ViewMode = AccessMode; if (RollupSettings != null) { detail.AllUpIdentification = RollupSettings.AlreadyRollupIdentificationValue; detail.NeedRollup = RollupSettings.RollupType; detail.RollUpMethod = RollupSettings.RollupMethod; foreach (string columnName in RollupSettings.AutoRollupGroupByColumnNames) { detail.RollUpColumns.Add(columnName); } } if (MissingDataPointFillSettings != null) { detail.FillMissingPointType = MissingDataPointFillSettings.FillType; detail.FillMissingPointValue = MissingDataPointFillSettings.CustomFillValue; } foreach (var admin in Administrators) { detail.Admins.Add(admin); } foreach (var viewer in Viewers) { detail.Viewers.Add(viewer); } return(detail); }
internal DataFeedIngestionSettings(DataFeedDetail dataFeedDetail) { IngestionStartsOn = dataFeedDetail.DataStartFrom; DataSourceRequestConcurrency = dataFeedDetail.MaxConcurrency; IngestionRetryDelay = dataFeedDetail.MinRetryIntervalInSeconds.HasValue ? TimeSpan.FromSeconds(dataFeedDetail.MinRetryIntervalInSeconds.Value) as TimeSpan? : null; IngestionStartOffset = dataFeedDetail.StartOffsetInSeconds.HasValue ? TimeSpan.FromSeconds(dataFeedDetail.StartOffsetInSeconds.Value) as TimeSpan? : null; StopRetryAfter = dataFeedDetail.StopRetryAfterInSeconds.HasValue ? TimeSpan.FromSeconds(dataFeedDetail.StopRetryAfterInSeconds.Value) as TimeSpan? : null; }
internal DataFeed(DataFeedDetail dataFeedDetail) { Id = dataFeedDetail.DataFeedId; Status = dataFeedDetail.Status; CreatedTime = dataFeedDetail.CreatedTime; Creator = dataFeedDetail.Creator; IsAdministrator = dataFeedDetail.IsAdmin; MetricIds = dataFeedDetail.Metrics.Select(metric => metric.MetricId).ToList(); Name = dataFeedDetail.DataFeedName; SourceType = dataFeedDetail.DataSourceType; Schema = new DataFeedSchema(dataFeedDetail); Granularity = new DataFeedGranularity(dataFeedDetail); IngestionSettings = new DataFeedIngestionSettings(dataFeedDetail); Options = new DataFeedOptions(dataFeedDetail); }
internal DataFeed(DataFeedDetail dataFeedDetail) { Id = dataFeedDetail.DataFeedId; Status = dataFeedDetail.Status; CreatedTime = dataFeedDetail.CreatedTime; Creator = dataFeedDetail.Creator; IsAdministrator = dataFeedDetail.IsAdmin; MetricIds = dataFeedDetail.Metrics.ToDictionary(metric => metric.MetricName, metric => metric.MetricId); Name = dataFeedDetail.DataFeedName; DataSource = DataFeedSource.GetDataFeedSource(dataFeedDetail); Schema = new DataFeedSchema(dataFeedDetail); Granularity = new DataFeedGranularity(dataFeedDetail); IngestionSettings = new DataFeedIngestionSettings(dataFeedDetail); Description = dataFeedDetail.DataFeedDescription; ActionLinkTemplate = dataFeedDetail.ActionLinkTemplate; AccessMode = dataFeedDetail.ViewMode; RollupSettings = new DataFeedRollupSettings(dataFeedDetail); MissingDataPointFillSettings = new DataFeedMissingDataPointFillSettings(dataFeedDetail); Administrators = dataFeedDetail.Admins; Viewers = dataFeedDetail.Viewers; }
private static void SetAuthenticationProperties(DataFeedDetail detail, DataFeedSource dataSource) { switch (dataSource) { case AzureBlobDataFeedSource s: detail.AuthenticationType = s.GetAuthenticationTypeEnum(); break; case AzureDataExplorerDataFeedSource s: detail.AuthenticationType = s.GetAuthenticationTypeEnum(); detail.CredentialId = s.DatasourceCredentialId; break; case AzureDataLakeStorageGen2DataFeedSource s: detail.AuthenticationType = s.GetAuthenticationTypeEnum(); detail.CredentialId = s.DatasourceCredentialId; break; case SqlServerDataFeedSource s: detail.AuthenticationType = s.GetAuthenticationTypeEnum(); detail.CredentialId = s.DatasourceCredentialId; break; } }
internal static DataFeedSource GetDataFeedSource(DataFeedDetail dataFeedDetail) => dataFeedDetail switch {
internal DataFeedSchema(DataFeedDetail dataFeedDetail) { DimensionColumns = dataFeedDetail.Dimension; MetricColumns = dataFeedDetail.Metrics; TimestampColumn = dataFeedDetail.TimestampColumn; }
internal DataFeedGranularity(DataFeedDetail dataFeedDetail) { GranularityType = dataFeedDetail.GranularityName; CustomGranularityValue = dataFeedDetail.GranularityAmount; }