Beispiel #1
0
        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;
 }
Beispiel #3
0
 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;
 }
Beispiel #5
0
        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;
            }
        }
Beispiel #6
0
 internal static DataFeedSource GetDataFeedSource(DataFeedDetail dataFeedDetail) =>
 dataFeedDetail switch
 {
 internal DataFeedSchema(DataFeedDetail dataFeedDetail)
 {
     DimensionColumns = dataFeedDetail.Dimension;
     MetricColumns    = dataFeedDetail.Metrics;
     TimestampColumn  = dataFeedDetail.TimestampColumn;
 }
Beispiel #8
0
 internal DataFeedGranularity(DataFeedDetail dataFeedDetail)
 {
     GranularityType        = dataFeedDetail.GranularityName;
     CustomGranularityValue = dataFeedDetail.GranularityAmount;
 }