Class MetricsAdvisorAdministrationClient
Instantiating a synchronous Metrics Advisor Administration Client
MetricsAdvisorAdministrationClient metricsAdvisorAdminClient =
new MetricsAdvisorAdministrationClientBuilder()
.credential(new MetricsAdvisorKeyCredential("{subscription_key}", "{api_key}"))
.endpoint("{endpoint}")
.buildClient();
-
Method Summary
Modifier and TypeMethodDescriptioncreateAlertConfig(AnomalyAlertConfiguration alertConfiguration) Create a configuration to trigger alert when anomalies are detected.com.azure.core.http.rest.Response<AnomalyAlertConfiguration>createAlertConfigWithResponse(AnomalyAlertConfiguration alertConfiguration, com.azure.core.util.Context context) Create a configuration to trigger alert when anomalies are detected.createDataFeed(DataFeed dataFeed) Create a new data feed.com.azure.core.http.rest.Response<DataFeed>createDataFeedWithResponse(DataFeed dataFeed, com.azure.core.util.Context context) Create a new data feed with REST response.createDataSourceCredential(DataSourceCredentialEntity dataSourceCredential) Create a data source credential entity.com.azure.core.http.rest.Response<DataSourceCredentialEntity>createDataSourceCredentialWithResponse(DataSourceCredentialEntity dataSourceCredential, com.azure.core.util.Context context) Create a data source credential entity with REST response.createDetectionConfig(String metricId, AnomalyDetectionConfiguration detectionConfiguration) Create a configuration to detect anomalies in the time series of a metric.com.azure.core.http.rest.Response<AnomalyDetectionConfiguration>createDetectionConfigWithResponse(String metricId, AnomalyDetectionConfiguration detectionConfiguration, com.azure.core.util.Context context) Create a configuration to detect anomalies in the time series of a metric.createHook(NotificationHook notificationHook) Creates a notificationHook that receives anomaly incident alerts.com.azure.core.http.rest.Response<NotificationHook>createHookWithResponse(NotificationHook notificationHook, com.azure.core.util.Context context) Creates a notificationHook that receives anomaly incident alerts.voiddeleteAlertConfig(String alertConfigurationId) Deletes the anomaly alert configuration identified byalertConfigurationId.com.azure.core.http.rest.Response<Void>deleteAlertConfigWithResponse(String alertConfigurationId, com.azure.core.util.Context context) Deletes the anomaly alert configuration identified byalertConfigurationId.voiddeleteDataFeed(String dataFeedId) Delete a data feed.com.azure.core.http.rest.Response<Void>deleteDataFeedWithResponse(String dataFeedId, com.azure.core.util.Context context) Delete a data feed with REST response.voiddeleteDataSourceCredential(String credentialId) Delete a data source credential entity.com.azure.core.http.rest.Response<Void>deleteDataSourceCredentialWithResponse(String credentialId, com.azure.core.util.Context context) Delete a data source credential entity with REST response.voiddeleteDetectionConfig(String detectionConfigurationId) Delete a metric anomaly detection configuration.com.azure.core.http.rest.Response<Void>deleteDetectionConfigWithResponse(String detectionConfigurationId, com.azure.core.util.Context context) Delete a metric anomaly detection configuration.voiddeleteHook(String hookId) Delete a hook.com.azure.core.http.rest.Response<Void>deleteHookWithResponse(String hookId, com.azure.core.util.Context context) Delete a hook.getAlertConfig(String alertConfigurationId) Get the anomaly alert configuration identified byalertConfigurationId.com.azure.core.http.rest.Response<AnomalyAlertConfiguration>getAlertConfigWithResponse(String alertConfigurationId, com.azure.core.util.Context context) Get the anomaly alert configuration identified byalertConfigurationId.getDataFeed(String dataFeedId) Get a data feed by its id.getDataFeedIngestionProgress(String dataFeedId) Retrieve the ingestion progress of a data feed.com.azure.core.http.rest.Response<DataFeedIngestionProgress>getDataFeedIngestionProgressWithResponse(String dataFeedId, com.azure.core.util.Context context) Retrieve the ingestion progress of a data feed.com.azure.core.http.rest.Response<DataFeed>getDataFeedWithResponse(String dataFeedId, com.azure.core.util.Context context) Get a data feed by its id with REST response.getDataSourceCredential(String credentialId) Get a data source credential entity by its id.com.azure.core.http.rest.Response<DataSourceCredentialEntity>getDataSourceCredentialWithResponse(String credentialId, com.azure.core.util.Context context) Get a data source credential entity by its id with REST response.getDetectionConfig(String detectionConfigurationId) Get the anomaly detection configuration by its id.com.azure.core.http.rest.Response<AnomalyDetectionConfiguration>getDetectionConfigWithResponse(String detectionConfigurationId, com.azure.core.util.Context context) Get the anomaly detection configuration by its id.Get a hook by its id.com.azure.core.http.rest.Response<NotificationHook>getHookWithResponse(String hookId, com.azure.core.util.Context context) Get a hook by its id.com.azure.core.http.rest.PagedIterable<AnomalyAlertConfiguration>listAlertConfigs(String detectionConfigurationId, ListAnomalyAlertConfigsOptions options) Fetch the anomaly alert configurations associated with a detection configuration.com.azure.core.http.rest.PagedIterable<AnomalyAlertConfiguration>listAlertConfigs(String detectionConfigurationId, ListAnomalyAlertConfigsOptions options, com.azure.core.util.Context context) Fetch the anomaly alert configurations associated with a detection configuration.com.azure.core.http.rest.PagedIterable<DataFeedIngestionStatus>listDataFeedIngestionStatus(String dataFeedId, ListDataFeedIngestionOptions options) Fetch the ingestion status of a data feed.com.azure.core.http.rest.PagedIterable<DataFeedIngestionStatus>listDataFeedIngestionStatus(String dataFeedId, ListDataFeedIngestionOptions options, com.azure.core.util.Context context) Fetch the ingestion status of a data feed.com.azure.core.http.rest.PagedIterable<DataFeed>List information of all data feeds on the metrics advisor account.com.azure.core.http.rest.PagedIterable<DataFeed>listDataFeeds(ListDataFeedOptions options, com.azure.core.util.Context context) List information of all data feeds on the metrics advisor account with REST response.com.azure.core.http.rest.PagedIterable<DataSourceCredentialEntity>List information of all data source credential entities on the metrics advisor account.com.azure.core.http.rest.PagedIterable<DataSourceCredentialEntity>listDataSourceCredentials(ListCredentialEntityOptions options, com.azure.core.util.Context context) List information of all data source credential entities on the metrics advisor account.com.azure.core.http.rest.PagedIterable<AnomalyDetectionConfiguration>listDetectionConfigs(String metricId) Given a metric id, retrieve all anomaly detection configurations applied to it.com.azure.core.http.rest.PagedIterable<AnomalyDetectionConfiguration>listDetectionConfigs(String metricId, ListDetectionConfigsOptions options, com.azure.core.util.Context context) Given a metric id, retrieve all anomaly detection configurations applied to it.com.azure.core.http.rest.PagedIterable<NotificationHook>List information of hooks on the metrics advisor account.com.azure.core.http.rest.PagedIterable<NotificationHook>listHooks(ListHookOptions options, com.azure.core.util.Context context) List information of hooks.voidrefreshDataFeedIngestion(String dataFeedId, OffsetDateTime startTime, OffsetDateTime endTime) Refresh data ingestion for a period.com.azure.core.http.rest.Response<Void>refreshDataFeedIngestionWithResponse(String dataFeedId, OffsetDateTime startTime, OffsetDateTime endTime, com.azure.core.util.Context context) Refresh data ingestion for a period.updateAlertConfig(AnomalyAlertConfiguration alertConfiguration) Update anomaly alert configuration.com.azure.core.http.rest.Response<AnomalyAlertConfiguration>updateAlertConfigWithResponse(AnomalyAlertConfiguration alertConfiguration, com.azure.core.util.Context context) Update anomaly alert configuration.updateDataFeed(DataFeed dataFeed) Update a data feed.com.azure.core.http.rest.Response<DataFeed>updateDataFeedWithResponse(DataFeed dataFeed, com.azure.core.util.Context context) Update a data feed with REST response.updateDataSourceCredential(DataSourceCredentialEntity dataSourceCredential) Update a data source credential entity.com.azure.core.http.rest.Response<DataSourceCredentialEntity>updateDataSourceCredentialWithResponse(DataSourceCredentialEntity dataSourceCredential, com.azure.core.util.Context context) Update a data source credential entity.updateDetectionConfig(AnomalyDetectionConfiguration detectionConfiguration) Update a configuration to detect anomalies in the time series of a metric.com.azure.core.http.rest.Response<AnomalyDetectionConfiguration>updateDetectionConfigWithResponse(AnomalyDetectionConfiguration detectionConfiguration, com.azure.core.util.Context context) Update a configuration to detect anomalies in the time series of a metric.updateHook(NotificationHook notificationHook) Update an existing notificationHook.com.azure.core.http.rest.Response<NotificationHook>updateHookWithResponse(NotificationHook notificationHook, com.azure.core.util.Context context) Update an existing notificationHook.
-
Method Details
-
createDataFeed
Create a new data feed.Code sample
DataFeed dataFeed = new DataFeed() .setName("dataFeedName") .setSource(new MySqlDataFeedSource("conn-string", "query")) .setGranularity(new DataFeedGranularity().setGranularityType(DataFeedGranularityType.DAILY)) .setSchema(new DataFeedSchema( Arrays.asList( new DataFeedMetric("cost"), new DataFeedMetric("revenue") )).setDimensions( Arrays.asList( new DataFeedDimension("city"), new DataFeedDimension("category") )) ) .setIngestionSettings(new DataFeedIngestionSettings(OffsetDateTime.parse("2020-01-01T00:00:00Z"))) .setOptions(new DataFeedOptions() .setDescription("data feed description") .setRollupSettings(new DataFeedRollupSettings() .setRollupType(DataFeedRollupType.AUTO_ROLLUP))); DataFeed createdDataFeed = metricsAdvisorAdminClient.createDataFeed(dataFeed); System.out.printf("Data feed Id: %s%n", createdDataFeed.getId()); System.out.printf("Data feed description: %s%n", createdDataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", createdDataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", createdDataFeed.getCreator());- Parameters:
dataFeed- The data feed to be created.- Returns:
- The created data feed.
- Throws:
NullPointerException- IfdataFeed,dataFeedName,dataFeedSource,metrics,granularityTypeoringestionStartTimeis null.
-
createDataFeedWithResponse
public com.azure.core.http.rest.Response<DataFeed> createDataFeedWithResponse(DataFeed dataFeed, com.azure.core.util.Context context) Create a new data feed with REST response.Code sample
DataFeed dataFeed = new DataFeed() .setName("dataFeedName") .setSource(new MySqlDataFeedSource("conn-string", "query")) .setGranularity(new DataFeedGranularity().setGranularityType(DataFeedGranularityType.DAILY)) .setSchema(new DataFeedSchema( Arrays.asList( new DataFeedMetric("cost"), new DataFeedMetric("revenue") )).setDimensions( Arrays.asList( new DataFeedDimension("city"), new DataFeedDimension("category") )) ) .setIngestionSettings(new DataFeedIngestionSettings(OffsetDateTime.parse("2020-01-01T00:00:00Z"))) .setOptions(new DataFeedOptions() .setDescription("data feed description") .setRollupSettings(new DataFeedRollupSettings() .setRollupType(DataFeedRollupType.AUTO_ROLLUP))); final Response<DataFeed> createdDataFeedResponse = metricsAdvisorAdminClient.createDataFeedWithResponse(dataFeed, Context.NONE); System.out.printf("Data feed create operation status: %s%n", createdDataFeedResponse.getStatusCode()); DataFeed createdDataFeed = createdDataFeedResponse.getValue(); System.out.printf("Data feed Id: %s%n", createdDataFeed.getId()); System.out.printf("Data feed description: %s%n", createdDataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", createdDataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", createdDataFeed.getCreator());- Parameters:
dataFeed- The data feed to be created.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- A
Responsecontaining the created data feed. - Throws:
NullPointerException- IfdataFeed,dataFeedName,dataFeedSource,metrics,granularityTypeoringestionStartTimeis null.
-
getDataFeed
Get a data feed by its id.Code sample
final String dataFeedId = "r47053f1-9080-09lo-bacf-8dccf2e86f"; DataFeed dataFeed = metricsAdvisorAdminClient.getDataFeed(dataFeedId); System.out.printf("Data feed Id: %s%n", dataFeed.getId()); System.out.printf("Data feed description: %s%n", dataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", dataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", dataFeed.getCreator());- Parameters:
dataFeedId- The data feed unique id.- Returns:
- The data feed for the provided id.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
getDataFeedWithResponse
public com.azure.core.http.rest.Response<DataFeed> getDataFeedWithResponse(String dataFeedId, com.azure.core.util.Context context) Get a data feed by its id with REST response.Code sample
final String dataFeedId = "r47053f1-9080-09lo-bacf-8dccf2e86f"; final Response<DataFeed> dataFeedResponse = metricsAdvisorAdminClient.getDataFeedWithResponse(dataFeedId, Context.NONE); System.out.printf("Data feed get operation status: %s%n", dataFeedResponse.getStatusCode()); DataFeed dataFeed = dataFeedResponse.getValue(); System.out.printf("Data feed Id: %s%n", dataFeed.getId()); System.out.printf("Data feed description: %s%n", dataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", dataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", dataFeed.getCreator());- Parameters:
dataFeedId- The data feed unique id.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- The data feed for the provided id.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
updateDataFeed
Update a data feed.Code sample
DataFeed existingDataFeed = new DataFeed(); final DataFeed updatedDataFeed = metricsAdvisorAdminClient.updateDataFeed( existingDataFeed.setOptions(new DataFeedOptions().setDescription("set updated description"))); System.out.printf("Data feed Id: %s%n", updatedDataFeed.getId()); System.out.printf("Data feed updated description: %s%n", updatedDataFeed.getOptions().getDescription());- Parameters:
dataFeed- the data feed that needs to be updated.- Returns:
- the updated data feed.
-
updateDataFeedWithResponse
public com.azure.core.http.rest.Response<DataFeed> updateDataFeedWithResponse(DataFeed dataFeed, com.azure.core.util.Context context) Update a data feed with REST response.Code sample
DataFeed existingDataFeed = new DataFeed(); final Response<DataFeed> updateDataFeedWithResponse = metricsAdvisorAdminClient.updateDataFeedWithResponse( existingDataFeed.setOptions(new DataFeedOptions().setDescription("set updated description")), Context.NONE); System.out.printf("Data feed update operation status: %s%n", updateDataFeedWithResponse.getStatusCode()); DataFeed dataFeed = updateDataFeedWithResponse.getValue(); System.out.printf("Data feed Id: %s%n", dataFeed.getId()); System.out.printf("Data feed updated description: %s%n", dataFeed.getOptions().getDescription());- Parameters:
dataFeed- the data feed that needs to be updated.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- the updated data feed.
-
deleteDataFeed
Delete a data feed.Code sample
final String dataFeedId = "r47053f1-9080-09lo-bacf-8dccf2e86f"; metricsAdvisorAdminClient.deleteDataFeed(dataFeedId);
- Parameters:
dataFeedId- The data feed unique id.- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
deleteDataFeedWithResponse
public com.azure.core.http.rest.Response<Void> deleteDataFeedWithResponse(String dataFeedId, com.azure.core.util.Context context) Delete a data feed with REST response.Code sample
final String dataFeedId = "r47053f1-9080-09lo-bacf-8dccf2e86f"; final Response<Void> response = metricsAdvisorAdminClient .deleteDataFeedWithResponse(dataFeedId, Context.NONE); System.out.printf("Data feed delete operation status : %s%n", response.getStatusCode());- Parameters:
dataFeedId- The data feed unique id.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- a REST Response.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
listDataFeeds
List information of all data feeds on the metrics advisor account.Code sample
metricsAdvisorAdminClient.listDataFeeds() .forEach(dataFeed -> { System.out.printf("Data feed Id: %s%n", dataFeed.getId()); System.out.printf("Data feed description: %s%n", dataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", dataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", dataFeed.getCreator()); });- Returns:
- A
PagedIterablecontaining information of all thedata feedsin the account.
-
listDataFeeds
public com.azure.core.http.rest.PagedIterable<DataFeed> listDataFeeds(ListDataFeedOptions options, com.azure.core.util.Context context) List information of all data feeds on the metrics advisor account with REST response.Code sample
metricsAdvisorAdminClient.listDataFeeds( new ListDataFeedOptions() .setListDataFeedFilter( new ListDataFeedFilter() .setDataFeedStatus(DataFeedStatus.ACTIVE) .setDataFeedGranularityType(DataFeedGranularityType.DAILY)) .setMaxPageSize(3), Context.NONE) .forEach(dataFeed -> { System.out.printf("Data feed Id: %s%n", dataFeed.getId()); System.out.printf("Data feed description: %s%n", dataFeed.getOptions().getDescription()); System.out.printf("Data feed source type: %s%n", dataFeed.getSourceType()); System.out.printf("Data feed creator: %s%n", dataFeed.getCreator()); System.out.printf("Data feed status: %s%n", dataFeed.getStatus()); System.out.printf("Data feed granularity type: %s%n", dataFeed.getGranularity().getGranularityType()); });- Parameters:
options- The configurableoptionsto pass for filtering the output result.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
PagedIterablecontaining information of all thedata feedsin the account.
-
listDataFeedIngestionStatus
public com.azure.core.http.rest.PagedIterable<DataFeedIngestionStatus> listDataFeedIngestionStatus(String dataFeedId, ListDataFeedIngestionOptions options) Fetch the ingestion status of a data feed.Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; final OffsetDateTime startTime = OffsetDateTime.parse("2020-01-01T00:00:00Z"); final OffsetDateTime endTime = OffsetDateTime.parse("2020-09-09T00:00:00Z"); final ListDataFeedIngestionOptions options = new ListDataFeedIngestionOptions(startTime, endTime); PagedIterable<DataFeedIngestionStatus> ingestionStatuses = metricsAdvisorAdminClient.listDataFeedIngestionStatus(dataFeedId, options); for (DataFeedIngestionStatus ingestionStatus : ingestionStatuses) { System.out.printf("Timestamp: %s%n", ingestionStatus.getTimestamp()); System.out.printf("Status: %s%n", ingestionStatus.getStatus()); System.out.printf("Message: %s%n", ingestionStatus.getMessage()); }- Parameters:
dataFeedId- The data feed id.options- The additional parameters.- Returns:
- The ingestion statuses.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- IfdataFeedId,options,options.startTime,options.endTimeis null.
-
listDataFeedIngestionStatus
public com.azure.core.http.rest.PagedIterable<DataFeedIngestionStatus> listDataFeedIngestionStatus(String dataFeedId, ListDataFeedIngestionOptions options, com.azure.core.util.Context context) Fetch the ingestion status of a data feed.Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; final OffsetDateTime startTime = OffsetDateTime.parse("2020-01-01T00:00:00Z"); final OffsetDateTime endTime = OffsetDateTime.parse("2020-09-09T00:00:00Z"); final ListDataFeedIngestionOptions options = new ListDataFeedIngestionOptions(startTime, endTime); PagedIterable<DataFeedIngestionStatus> ingestionStatuses = metricsAdvisorAdminClient.listDataFeedIngestionStatus(dataFeedId, options, Context.NONE); Stream<PagedResponse<DataFeedIngestionStatus>> ingestionStatusPageStream = ingestionStatuses.streamByPage(); int[] pageCount = new int[1]; ingestionStatusPageStream.forEach(ingestionStatusPage -> { System.out.printf("Page: %d%n", pageCount[0]++); for (DataFeedIngestionStatus ingestionStatus : ingestionStatusPage.getElements()) { System.out.printf("Timestamp: %s%n", ingestionStatus.getTimestamp()); System.out.printf("Status: %s%n", ingestionStatus.getStatus()); System.out.printf("Message: %s%n", ingestionStatus.getMessage()); } });- Parameters:
dataFeedId- The data feed id.options- The additional parameters.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- The ingestion statuses.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- IfdataFeedId,options,options.startTime,options.endTimeis null.
-
refreshDataFeedIngestion
public void refreshDataFeedIngestion(String dataFeedId, OffsetDateTime startTime, OffsetDateTime endTime) Refresh data ingestion for a period.The data in the data source for the given period will be re-ingested and any ingested data for the same period will be overwritten.
Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; final OffsetDateTime startTime = OffsetDateTime.parse("2020-01-01T00:00:00Z"); final OffsetDateTime endTime = OffsetDateTime.parse("2020-03-03T00:00:00Z"); metricsAdvisorAdminClient.refreshDataFeedIngestion(dataFeedId, startTime, endTime);- Parameters:
dataFeedId- The data feed id.startTime- The start point of the period.endTime- The end point of of the period.- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- IfdataFeedId,startTime,endTimeis null.
-
refreshDataFeedIngestionWithResponse
public com.azure.core.http.rest.Response<Void> refreshDataFeedIngestionWithResponse(String dataFeedId, OffsetDateTime startTime, OffsetDateTime endTime, com.azure.core.util.Context context) Refresh data ingestion for a period.The data in the data source for the given period will be re-ingested and any ingested data for the same period will be overwritten.
Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; final OffsetDateTime startTime = OffsetDateTime.parse("2020-01-01T00:00:00Z"); final OffsetDateTime endTime = OffsetDateTime.parse("2020-03-03T00:00:00Z"); Response<Void> response = metricsAdvisorAdminClient.refreshDataFeedIngestionWithResponse(dataFeedId, startTime, endTime, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode());- Parameters:
dataFeedId- The data feed id.startTime- The start point of the period.endTime- The end point of of the period.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- The response.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- IfdataFeedId,startTime,endTimeis null.
-
getDataFeedIngestionProgress
Retrieve the ingestion progress of a data feed.Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; DataFeedIngestionProgress ingestionProgress = metricsAdvisorAdminClient.getDataFeedIngestionProgress(dataFeedId); System.out.printf("Latest active timestamp: %s%n", ingestionProgress.getLatestActiveTimestamp()); System.out.printf("Latest successful timestamp: %s%n", ingestionProgress.getLatestSuccessTimestamp());- Parameters:
dataFeedId- The data feed id.- Returns:
- The
DataFeedIngestionProgressof the data feed. - Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
getDataFeedIngestionProgressWithResponse
public com.azure.core.http.rest.Response<DataFeedIngestionProgress> getDataFeedIngestionProgressWithResponse(String dataFeedId, com.azure.core.util.Context context) Retrieve the ingestion progress of a data feed.Code sample
final String dataFeedId = "4957a2f7-a0f4-4fc0-b8d7-d866c1df0f4c"; Response<DataFeedIngestionProgress> response = metricsAdvisorAdminClient.getDataFeedIngestionProgressWithResponse(dataFeedId, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode()); DataFeedIngestionProgress ingestionProgress = response.getValue(); System.out.printf("Latest active timestamp: %s%n", ingestionProgress.getLatestActiveTimestamp()); System.out.printf("Latest successful timestamp: %s%n", ingestionProgress.getLatestSuccessTimestamp());- Parameters:
dataFeedId- The data feed id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
ResponsecontainingDataFeedIngestionProgressof the data feed. - Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
createDetectionConfig
public AnomalyDetectionConfiguration createDetectionConfig(String metricId, AnomalyDetectionConfiguration detectionConfiguration) Create a configuration to detect anomalies in the time series of a metric.Code sample
final MetricWholeSeriesDetectionCondition wholeSeriesCondition = new MetricWholeSeriesDetectionCondition() .setConditionOperator(DetectionConditionOperator.OR) .setSmartDetectionCondition(new SmartDetectionCondition( 50, AnomalyDetectorDirection.BOTH, new SuppressCondition(50, 50))) .setHardThresholdCondition(new HardThresholdCondition( AnomalyDetectorDirection.BOTH, new SuppressCondition(5, 5)) .setLowerBound(0.0) .setUpperBound(100.0)) .setChangeThresholdCondition(new ChangeThresholdCondition( 50, 30, true, AnomalyDetectorDirection.BOTH, new SuppressCondition(2, 2))); final String detectionConfigName = "my_detection_config"; final String detectionConfigDescription = "anomaly detection config for metric"; final AnomalyDetectionConfiguration detectionConfig = new AnomalyDetectionConfiguration(detectionConfigName) .setDescription(detectionConfigDescription) .setWholeSeriesDetectionCondition(wholeSeriesCondition); final String metricId = "0b836da8-10e6-46cd-8f4f-28262e113a62"; AnomalyDetectionConfiguration createdDetectionConfig = metricsAdvisorAdminClient .createDetectionConfig(metricId, detectionConfig); System.out.printf("Detection config Id: %s%n", createdDetectionConfig.getId()); System.out.printf("Name: %s%n", createdDetectionConfig.getName()); System.out.printf("Description: %s%n", createdDetectionConfig.getDescription()); System.out.printf("MetricId: %s%n", createdDetectionConfig.getMetricId());- Parameters:
metricId- The metric id to associate the configuration with.detectionConfiguration- The anomaly detection configuration.- Returns:
- The created
AnomalyDetectionConfiguration. - Throws:
IllegalArgumentException- IfmetricIddoes not conform to the UUID format specification, ordetectionConfiguration.nameis not set.NullPointerException- thrown if themetricIdis null ordetectionConfigurationis null ordetectionConfiguration.wholeSeriesConditionis null orseriesKeyis missing for anyMetricSingleSeriesDetectionConditionin the configuration orseriesGroupKeyis missing for anyMetricSeriesGroupDetectionConditionin the configuration orconditionOperatoris missing when multiple nested conditions are set in aMetricSingleSeriesDetectionConditionorMetricSeriesGroupDetectionCondition.
-
createDetectionConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyDetectionConfiguration> createDetectionConfigWithResponse(String metricId, AnomalyDetectionConfiguration detectionConfiguration, com.azure.core.util.Context context) Create a configuration to detect anomalies in the time series of a metric.Code sample
final MetricWholeSeriesDetectionCondition wholeSeriesCondition = new MetricWholeSeriesDetectionCondition() .setConditionOperator(DetectionConditionOperator.OR) .setSmartDetectionCondition(new SmartDetectionCondition( 50, AnomalyDetectorDirection.BOTH, new SuppressCondition(50, 50))) .setHardThresholdCondition(new HardThresholdCondition( AnomalyDetectorDirection.BOTH, new SuppressCondition(5, 5)) .setLowerBound(0.0) .setUpperBound(100.0)) .setChangeThresholdCondition(new ChangeThresholdCondition( 50, 30, true, AnomalyDetectorDirection.BOTH, new SuppressCondition(2, 2))); final String detectionConfigName = "my_detection_config"; final String detectionConfigDescription = "anomaly detection config for metric"; final AnomalyDetectionConfiguration detectionConfig = new AnomalyDetectionConfiguration(detectionConfigName) .setDescription(detectionConfigDescription) .setWholeSeriesDetectionCondition(wholeSeriesCondition); final String metricId = "0b836da8-10e6-46cd-8f4f-28262e113a62"; Response<AnomalyDetectionConfiguration> response = metricsAdvisorAdminClient .createDetectionConfigWithResponse(metricId, detectionConfig, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode()); AnomalyDetectionConfiguration createdDetectionConfig = response.getValue(); System.out.printf("Detection config Id: %s%n", createdDetectionConfig.getId()); System.out.printf("Name: %s%n", createdDetectionConfig.getName()); System.out.printf("Description: %s%n", createdDetectionConfig.getDescription()); System.out.printf("MetricId: %s%n", createdDetectionConfig.getMetricId());- Parameters:
metricId- The metric id to associate the configuration with.detectionConfiguration- The anomaly detection configuration.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining the createdAnomalyDetectionConfiguration. - Throws:
IllegalArgumentException- IfmetricIddoes not conform to the UUID format specification, ordetectionConfiguration.nameis not set.NullPointerException- thrown if themetricIdis null ordetectionConfigurationis null ordetectionConfiguration.wholeSeriesConditionis null orseriesKeyis missing for anyMetricSingleSeriesDetectionConditionin the configuration orseriesGroupKeyis missing for anyMetricSeriesGroupDetectionConditionin the configuration orconditionOperatoris missing when multiple nested conditions are set in aMetricSingleSeriesDetectionConditionorMetricSeriesGroupDetectionCondition.
-
getDetectionConfig
Get the anomaly detection configuration by its id.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; AnomalyDetectionConfiguration detectionConfig = metricsAdvisorAdminClient .getDetectionConfig(detectionConfigId); System.out.printf("Detection config Id: %s%n", detectionConfig.getId()); System.out.printf("Name: %s%n", detectionConfig.getName()); System.out.printf("Description: %s%n", detectionConfig.getDescription()); System.out.printf("MetricId: %s%n", detectionConfig.getMetricId()); System.out.printf("Detection conditions specified for configuration...%n"); System.out.printf("Whole Series Detection Conditions:%n"); MetricWholeSeriesDetectionCondition wholeSeriesDetectionCondition = detectionConfig.getWholeSeriesDetectionCondition(); System.out.printf("- Use %s operator for multiple detection conditions:%n", wholeSeriesDetectionCondition.getConditionOperator()); System.out.printf("- Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf("- Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf("- Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); List<MetricSingleSeriesDetectionCondition> seriesDetectionConditions = detectionConfig.getSeriesDetectionConditions(); System.out.printf("Series Detection Conditions:%n"); for (MetricSingleSeriesDetectionCondition seriesDetectionCondition : seriesDetectionConditions) { DimensionKey seriesKey = seriesDetectionCondition.getSeriesKey(); final String seriesKeyStr = Arrays.toString(seriesKey.asMap().entrySet().toArray()); System.out.printf("- Series Key:%s%n", seriesKeyStr); System.out.printf(" - Use %s operator for multiple detection conditions:%n", seriesDetectionCondition.getConditionOperator()); System.out.printf(" - Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); } List<MetricSeriesGroupDetectionCondition> seriesGroupDetectionConditions = detectionConfig.getSeriesGroupDetectionConditions(); System.out.printf("Series Group Detection Conditions:%n"); for (MetricSeriesGroupDetectionCondition seriesGroupDetectionCondition : seriesGroupDetectionConditions) { DimensionKey seriesGroupKey = seriesGroupDetectionCondition.getSeriesGroupKey(); final String seriesGroupKeyStr = Arrays.toString(seriesGroupKey.asMap().entrySet().toArray()); System.out.printf("- Series Group Key:%s%n", seriesGroupKeyStr); System.out.printf(" - Use %s operator for multiple detection conditions:%n", seriesGroupDetectionCondition.getConditionOperator()); System.out.printf(" - Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); }- Parameters:
detectionConfigurationId- The anomaly detection configuration id.- Returns:
- The
AnomalyDetectionConfigurationidentified by the given id. - Throws:
IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.NullPointerException- thrown if thedetectionConfigurationIdis null.
-
getDetectionConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyDetectionConfiguration> getDetectionConfigWithResponse(String detectionConfigurationId, com.azure.core.util.Context context) Get the anomaly detection configuration by its id.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; Response<AnomalyDetectionConfiguration> response = metricsAdvisorAdminClient .getDetectionConfigWithResponse(detectionConfigId, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode()); AnomalyDetectionConfiguration detectionConfig = response.getValue(); System.out.printf("Detection config Id: %s%n", detectionConfig.getId()); System.out.printf("Name: %s%n", detectionConfig.getName()); System.out.printf("Description: %s%n", detectionConfig.getDescription()); System.out.printf("MetricId: %s%n", detectionConfig.getMetricId()); System.out.printf("Detection conditions specified for configuration...%n"); System.out.printf("Whole Series Detection Conditions:%n"); MetricWholeSeriesDetectionCondition wholeSeriesDetectionCondition = detectionConfig.getWholeSeriesDetectionCondition(); System.out.printf("- Use %s operator for multiple detection conditions:%n", wholeSeriesDetectionCondition.getConditionOperator()); System.out.printf("- Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf("- Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf("- Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", wholeSeriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), wholeSeriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); List<MetricSingleSeriesDetectionCondition> seriesDetectionConditions = detectionConfig.getSeriesDetectionConditions(); System.out.printf("Series Detection Conditions:%n"); for (MetricSingleSeriesDetectionCondition seriesDetectionCondition : seriesDetectionConditions) { DimensionKey seriesKey = seriesDetectionCondition.getSeriesKey(); final String seriesKeyStr = Arrays.toString(seriesKey.asMap().entrySet().toArray()); System.out.printf("- Series Key:%s%n", seriesKeyStr); System.out.printf(" - Use %s operator for multiple detection conditions:%n", seriesDetectionCondition.getConditionOperator()); System.out.printf(" - Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), seriesDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); } List<MetricSeriesGroupDetectionCondition> seriesGroupDetectionConditions = detectionConfig.getSeriesGroupDetectionConditions(); System.out.printf("Series Group Detection Conditions:%n"); for (MetricSeriesGroupDetectionCondition seriesGroupDetectionCondition : seriesGroupDetectionConditions) { DimensionKey seriesGroupKey = seriesGroupDetectionCondition.getSeriesGroupKey(); final String seriesGroupKeyStr = Arrays.toString(seriesGroupKey.asMap().entrySet().toArray()); System.out.printf("- Series Group Key:%s%n", seriesGroupKeyStr); System.out.printf(" - Use %s operator for multiple detection conditions:%n", seriesGroupDetectionCondition.getConditionOperator()); System.out.printf(" - Smart Detection Condition:%n"); System.out.printf(" - Sensitivity: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getSensitivity()); System.out.printf(" - Detection direction: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getAnomalyDetectorDirection()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getSmartDetectionCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Hard Threshold Condition:%n"); System.out.printf(" - Lower bound: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getLowerBound()); System.out.printf(" - Upper bound: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getUpperBound()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getHardThresholdCondition() .getSuppressCondition().getMinRatio()); System.out.printf(" - Change Threshold Condition:%n"); System.out.printf(" - Change percentage: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getChangePercentage()); System.out.printf(" - Shift point: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getShiftPoint()); System.out.printf(" - Detect anomaly if within range: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .isWithinRange()); System.out.printf(" - Suppress conditions: minimum number: %s; minimum ratio: %s%n", seriesGroupDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinNumber(), seriesGroupDetectionCondition.getChangeThresholdCondition() .getSuppressCondition().getMinRatio()); }- Parameters:
detectionConfigurationId- The anomaly detection configuration id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining theAnomalyDetectionConfigurationfor the provided id. - Throws:
IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.NullPointerException- thrown if thedetectionConfigurationIdis null.
-
updateDetectionConfig
public AnomalyDetectionConfiguration updateDetectionConfig(AnomalyDetectionConfiguration detectionConfiguration) Update a configuration to detect anomalies in the time series of a metric.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; AnomalyDetectionConfiguration detectionConfig = metricsAdvisorAdminClient .getDetectionConfig(detectionConfigId); detectionConfig.setName("updated config name"); detectionConfig.setDescription("updated with more detection conditions"); DimensionKey seriesGroupKey = new DimensionKey() .put("city", "Seoul"); detectionConfig.addSeriesGroupDetectionCondition( new MetricSeriesGroupDetectionCondition(seriesGroupKey) .setSmartDetectionCondition(new SmartDetectionCondition( 10.0, AnomalyDetectorDirection.UP, new SuppressCondition(2, 2)))); AnomalyDetectionConfiguration updatedDetectionConfig = metricsAdvisorAdminClient .updateDetectionConfig(detectionConfig); System.out.printf("Detection config Id: %s%n", updatedDetectionConfig.getId()); System.out.printf("Name: %s%n", updatedDetectionConfig.getName()); System.out.printf("Description: %s%n", updatedDetectionConfig.getDescription()); System.out.printf("MetricId: %s%n", updatedDetectionConfig.getMetricId());- Parameters:
detectionConfiguration- The anomaly detection configuration.- Returns:
- The updated
AnomalyDetectionConfiguration. - Throws:
NullPointerException- thrown if thedetectionConfigurationis null ordetectionConfiguration.idis null.
-
updateDetectionConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyDetectionConfiguration> updateDetectionConfigWithResponse(AnomalyDetectionConfiguration detectionConfiguration, com.azure.core.util.Context context) Update a configuration to detect anomalies in the time series of a metric.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; Response<AnomalyDetectionConfiguration> getResponse = metricsAdvisorAdminClient .getDetectionConfigWithResponse(detectionConfigId, Context.NONE); AnomalyDetectionConfiguration detectionConfig = getResponse.getValue(); detectionConfig.setName("updated config name"); detectionConfig.setDescription("updated with more detection conditions"); DimensionKey seriesGroupKey = new DimensionKey() .put("city", "Seoul"); detectionConfig.addSeriesGroupDetectionCondition( new MetricSeriesGroupDetectionCondition(seriesGroupKey) .setSmartDetectionCondition(new SmartDetectionCondition( 10.0, AnomalyDetectorDirection.UP, new SuppressCondition(2, 2)))); Response<AnomalyDetectionConfiguration> updateResponse = metricsAdvisorAdminClient .updateDetectionConfigWithResponse(detectionConfig, Context.NONE); System.out.printf("Response StatusCode: %s%n", updateResponse.getStatusCode()); AnomalyDetectionConfiguration updatedDetectionConfig = updateResponse.getValue(); System.out.printf("Detection config Id: %s%n", updatedDetectionConfig.getId()); System.out.printf("Name: %s%n", updatedDetectionConfig.getName()); System.out.printf("Description: %s%n", updatedDetectionConfig.getDescription()); System.out.printf("MetricId: %s%n", updatedDetectionConfig.getMetricId());- Parameters:
detectionConfiguration- The anomaly detection configuration.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining the updatedAnomalyDetectionConfiguration. - Throws:
NullPointerException- thrown if thedetectionConfigurationis null ordetectionConfiguration.idis null.
-
deleteDetectionConfig
Delete a metric anomaly detection configuration.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; metricsAdvisorAdminClient .deleteDetectionConfig(detectionConfigId);- Parameters:
detectionConfigurationId- The metric anomaly detection configuration unique id.- Throws:
NullPointerException- thrown if thedetectionConfigurationIdis null.IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.
-
deleteDetectionConfigWithResponse
public com.azure.core.http.rest.Response<Void> deleteDetectionConfigWithResponse(String detectionConfigurationId, com.azure.core.util.Context context) Delete a metric anomaly detection configuration.Code sample
final String detectionConfigId = "7b8069a1-1564-46da-9f50-b5d0dd9129ab"; Response<Void> response = metricsAdvisorAdminClient .deleteDetectionConfigWithResponse(detectionConfigId, Context.NONE); System.out.printf("Response Status Code: %s%n", response.getStatusCode());- Parameters:
detectionConfigurationId- The metric anomaly detection configuration unique id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responseof containing result of delete operation. - Throws:
NullPointerException- thrown if thedetectionConfigurationIdis null.IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.
-
listDetectionConfigs
public com.azure.core.http.rest.PagedIterable<AnomalyDetectionConfiguration> listDetectionConfigs(String metricId) Given a metric id, retrieve all anomaly detection configurations applied to it.Code sample
final String metricId = "0b836da8-10e6-46cd-8f4f-28262e113a62"; PagedIterable<AnomalyDetectionConfiguration> configsIterable = metricsAdvisorAdminClient.listDetectionConfigs(metricId); for (AnomalyDetectionConfiguration detectionConfig : configsIterable) { System.out.printf("Detection config Id: %s%n", detectionConfig.getId()); System.out.printf("Name: %s%n", detectionConfig.getName()); System.out.printf("Description: %s%n", detectionConfig.getDescription()); System.out.printf("MetricId: %s%n", detectionConfig.getMetricId()); }- Parameters:
metricId- The metric id.- Returns:
- The anomaly detection configurations.
- Throws:
NullPointerException- thrown if themetricIdis null.IllegalArgumentException- IfmetricIddoes not conform to the UUID format specification.
-
listDetectionConfigs
public com.azure.core.http.rest.PagedIterable<AnomalyDetectionConfiguration> listDetectionConfigs(String metricId, ListDetectionConfigsOptions options, com.azure.core.util.Context context) Given a metric id, retrieve all anomaly detection configurations applied to it.Code sample
final String metricId = "0b836da8-10e6-46cd-8f4f-28262e113a62"; PagedIterable<AnomalyDetectionConfiguration> configsIterable = metricsAdvisorAdminClient.listDetectionConfigs(metricId, new ListDetectionConfigsOptions(), Context.NONE); Stream<PagedResponse<AnomalyDetectionConfiguration>> configByPageStream = configsIterable.streamByPage(); configByPageStream.forEach(configPage -> { IterableStream<AnomalyDetectionConfiguration> pageElements = configPage.getElements(); for (AnomalyDetectionConfiguration detectionConfig : pageElements) { System.out.printf("Detection config Id: %s%n", detectionConfig.getId()); System.out.printf("Name: %s%n", detectionConfig.getName()); System.out.printf("Description: %s%n", detectionConfig.getDescription()); System.out.printf("MetricId: %s%n", detectionConfig.getMetricId()); } });- Parameters:
metricId- The metric id.options- th e additional configurable options to specify when querying the result.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- The anomaly detection configurations.
- Throws:
NullPointerException- thrown if themetricIdis null.IllegalArgumentException- IfmetricIddoes not conform to the UUID format specification.
-
createHook
Creates a notificationHook that receives anomaly incident alerts.Code sample
NotificationHook emailNotificationHook = new EmailNotificationHook("email notificationHook") .setDescription("my email notificationHook") .setEmailsToAlert(new ArrayList<String>() {{ add("alertme@alertme.com"); }}) .setExternalLink("https://adwiki.azurewebsites.net/articles/howto/alerts/create-hooks.html"); NotificationHook notificationHook = metricsAdvisorAdminClient.createHook(emailNotificationHook); EmailNotificationHook createdEmailHook = (EmailNotificationHook) notificationHook; System.out.printf("NotificationHook Id: %s%n", createdEmailHook.getId()); System.out.printf("NotificationHook Name: %s%n", createdEmailHook.getName()); System.out.printf("NotificationHook Description: %s%n", createdEmailHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", createdEmailHook.getExternalLink()); System.out.printf("NotificationHook Emails: %s%n", String.join(",", createdEmailHook.getEmailsToAlert()));- Parameters:
notificationHook- The notificationHook.- Returns:
- The created
NotificationHook. - Throws:
NullPointerException- IfnotificationHook,notificationHook.name,notificationHook.endpoint(for web notificationHook) is null.IllegalArgumentException- If at least one email not present for email notificationHook.
-
createHookWithResponse
public com.azure.core.http.rest.Response<NotificationHook> createHookWithResponse(NotificationHook notificationHook, com.azure.core.util.Context context) Creates a notificationHook that receives anomaly incident alerts.Code sample
NotificationHook emailNotificationHook = new EmailNotificationHook("email hook") .setDescription("my email hook") .setEmailsToAlert(new ArrayList<String>() {{ add("alertme@alertme.com"); }}) .setExternalLink("https://adwiki.azurewebsites.net/articles/howto/alerts/create-hooks.html"); Response<NotificationHook> response = metricsAdvisorAdminClient.createHookWithResponse(emailNotificationHook, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode()); EmailNotificationHook createdEmailHook = (EmailNotificationHook) response.getValue(); System.out.printf("NotificationHook Id: %s%n", createdEmailHook.getId()); System.out.printf("NotificationHook Name: %s%n", createdEmailHook.getName()); System.out.printf("NotificationHook Description: %s%n", createdEmailHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", createdEmailHook.getExternalLink()); System.out.printf("NotificationHook Emails: %s%n", String.join(",", createdEmailHook.getEmailsToAlert()));- Parameters:
notificationHook- The notificationHook.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining the createdNotificationHook. - Throws:
NullPointerException- IfnotificationHook,notificationHook.name,notificationHook.endpoint(for web notificationHook) is null.IllegalArgumentException- If at least one email not present for email notificationHook.
-
getHook
Get a hook by its id.Code sample
final String hookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; NotificationHook notificationHook = metricsAdvisorAdminClient.getHook(hookId); if (notificationHook instanceof EmailNotificationHook) { EmailNotificationHook emailHook = (EmailNotificationHook) notificationHook; System.out.printf("NotificationHook Id: %s%n", emailHook.getId()); System.out.printf("NotificationHook Name: %s%n", emailHook.getName()); System.out.printf("NotificationHook Description: %s%n", emailHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", emailHook.getExternalLink()); System.out.printf("NotificationHook Emails: %s%n", String.join(",", emailHook.getEmailsToAlert())); } else if (notificationHook instanceof WebNotificationHook) { WebNotificationHook webHook = (WebNotificationHook) notificationHook; System.out.printf("NotificationHook Id: %s%n", webHook.getId()); System.out.printf("NotificationHook Name: %s%n", webHook.getName()); System.out.printf("NotificationHook Description: %s%n", webHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", webHook.getExternalLink()); System.out.printf("NotificationHook Endpoint: %s%n", webHook.getEndpoint()); System.out.printf("NotificationHook Headers: %s%n", webHook.getHttpHeaders()); }- Parameters:
hookId- The hook unique id.- Returns:
- The
NotificationHookfor the provided id. - Throws:
IllegalArgumentException- IfhookIddoes not conform to the UUID format specification.NullPointerException- thrown if thehookIdis null.
-
getHookWithResponse
public com.azure.core.http.rest.Response<NotificationHook> getHookWithResponse(String hookId, com.azure.core.util.Context context) Get a hook by its id.Code sample
final String hookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; Response<NotificationHook> response = metricsAdvisorAdminClient.getHookWithResponse(hookId, Context.NONE); System.out.printf("Response statusCode: %d%n", response.getStatusCode()); NotificationHook notificationHook = response.getValue(); if (notificationHook instanceof EmailNotificationHook) { EmailNotificationHook emailHook = (EmailNotificationHook) notificationHook; System.out.printf("NotificationHook Id: %s%n", emailHook.getId()); System.out.printf("NotificationHook Name: %s%n", emailHook.getName()); System.out.printf("NotificationHook Description: %s%n", emailHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", emailHook.getExternalLink()); System.out.printf("NotificationHook Emails: %s%n", String.join(",", emailHook.getEmailsToAlert())); } else if (notificationHook instanceof WebNotificationHook) { WebNotificationHook webHook = (WebNotificationHook) notificationHook; System.out.printf("NotificationHook Id: %s%n", webHook.getId()); System.out.printf("NotificationHook Name: %s%n", webHook.getName()); System.out.printf("NotificationHook Description: %s%n", webHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", webHook.getExternalLink()); System.out.printf("NotificationHook Endpoint: %s%n", webHook.getEndpoint()); System.out.printf("NotificationHook Headers: %s%n", webHook.getHttpHeaders()); }- Parameters:
hookId- The hook unique id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining theNotificationHookfor the provided id. - Throws:
IllegalArgumentException- IfhookIddoes not conform to the UUID format specification.NullPointerException- thrown if thehookIdis null.
-
updateHook
Update an existing notificationHook.Code sample
final String emailHookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; NotificationHook notificationHook = metricsAdvisorAdminClient.getHook(emailHookId); EmailNotificationHook emailHook = (EmailNotificationHook) notificationHook; List<String> emailsToUpdate = new ArrayList<>(emailHook.getEmailsToAlert()); emailsToUpdate.remove("alertme@alertme.com"); emailsToUpdate.add("alertme2@alertme.com"); emailsToUpdate.add("alertme3@alertme.com"); emailHook.setEmailsToAlert(emailsToUpdate); NotificationHook updatedNotificationHook = metricsAdvisorAdminClient.updateHook(emailHook); EmailNotificationHook updatedEmailHook = (EmailNotificationHook) updatedNotificationHook; System.out.printf("NotificationHook Id: %s%n", updatedEmailHook.getId()); System.out.printf("NotificationHook Name: %s%n", updatedEmailHook.getName()); System.out.printf("NotificationHook Description: %s%n", updatedEmailHook.getDescription()); System.out.printf("NotificationHook External Link: %s%n", updatedEmailHook.getExternalLink()); System.out.printf("NotificationHook Emails: %s%n", String.join(",", updatedEmailHook.getEmailsToAlert()));- Parameters:
notificationHook- The notificationHook to update.- Returns:
- The updated
NotificationHook. - Throws:
NullPointerException- IfnotificationHook.idis null.
-
updateHookWithResponse
public com.azure.core.http.rest.Response<NotificationHook> updateHookWithResponse(NotificationHook notificationHook, com.azure.core.util.Context context) Update an existing notificationHook.Code sample
final String emailHookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; Response<NotificationHook> response = metricsAdvisorAdminClient.getHookWithResponse(emailHookId, Context.NONE); EmailNotificationHook emailHook = (EmailNotificationHook) response.getValue(); List<String> emailsToUpdate = new ArrayList<>(emailHook.getEmailsToAlert()); emailsToUpdate.remove("alertme@alertme.com"); emailsToUpdate.add("alertme2@alertme.com"); emailsToUpdate.add("alertme3@alertme.com"); emailHook.setEmailsToAlert(emailsToUpdate); Response<NotificationHook> updateResponse = metricsAdvisorAdminClient.updateHookWithResponse(emailHook, Context.NONE); EmailNotificationHook updatedEmailHook = (EmailNotificationHook) updateResponse.getValue(); System.out.printf("Email Hook Id: %s%n", updatedEmailHook.getId()); System.out.printf("Email Hook Name: %s%n", updatedEmailHook.getName()); System.out.printf("Email Hook Description: %s%n", updatedEmailHook.getDescription()); System.out.printf("Email Hook External Link: %s%n", updatedEmailHook.getExternalLink()); System.out.printf("Email Hook Emails: %s%n", String.join(",", updatedEmailHook.getEmailsToAlert()));- Parameters:
notificationHook- The notificationHook to update.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining the updatedNotificationHook. - Throws:
NullPointerException- IfnotificationHook.idis null.IllegalArgumentException- IfnotificationHook.Iddoes not conform to the UUID format specification.
-
deleteHook
Delete a hook.Code sample
final String emailHookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; metricsAdvisorAdminClient.deleteHook(emailHookId);
- Parameters:
hookId- The hook unique id.- Throws:
NullPointerException- thrown if thehookIdis null.IllegalArgumentException- IfhookIddoes not conform to the UUID format specification.
-
deleteHookWithResponse
public com.azure.core.http.rest.Response<Void> deleteHookWithResponse(String hookId, com.azure.core.util.Context context) Delete a hook.Code sample
final String emailHookId = "f00853f1-6627-447f-bacf-8dccf2e86fed"; Response<Void> response = metricsAdvisorAdminClient.deleteHookWithResponse(emailHookId, Context.NONE); System.out.printf("Response status code: %d%n", response.getStatusCode());- Parameters:
hookId- The hook unique id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Response. - Throws:
NullPointerException- thrown if thehookIdis null.IllegalArgumentException- IfhookIddoes not conform to the UUID format specification.
-
listHooks
List information of hooks on the metrics advisor account.Code sample
PagedIterable<NotificationHook> hooks = metricsAdvisorAdminClient.listHooks(); for (NotificationHook notificationHook : hooks) { if (notificationHook instanceof EmailNotificationHook) { EmailNotificationHook emailHook = (EmailNotificationHook) notificationHook; System.out.printf("Email Hook Id: %s%n", emailHook.getId()); System.out.printf("Email Hook Name: %s%n", emailHook.getName()); System.out.printf("Email Hook Description: %s%n", emailHook.getDescription()); System.out.printf("Email Hook External Link: %s%n", emailHook.getExternalLink()); System.out.printf("Email Hook Emails: %s%n", String.join(",", emailHook.getEmailsToAlert())); } else if (notificationHook instanceof WebNotificationHook) { WebNotificationHook webHook = (WebNotificationHook) notificationHook; System.out.printf("Web Hook Id: %s%n", webHook.getId()); System.out.printf("Web Hook Name: %s%n", webHook.getName()); System.out.printf("Web Hook Description: %s%n", webHook.getDescription()); System.out.printf("Web Hook External Link: %s%n", webHook.getExternalLink()); System.out.printf("Web Hook Endpoint: %s%n", webHook.getEndpoint()); System.out.printf("Web Hook Headers: %s%n", webHook.getHttpHeaders()); } }- Returns:
- A
PagedIterablecontaining information of all theNotificationHookin the account.
-
listHooks
public com.azure.core.http.rest.PagedIterable<NotificationHook> listHooks(ListHookOptions options, com.azure.core.util.Context context) List information of hooks.Code sample
ListHookOptions options = new ListHookOptions() .setSkip(100) .setMaxPageSize(20); PagedIterable<NotificationHook> hooks = metricsAdvisorAdminClient.listHooks(options, Context.NONE); Stream<PagedResponse<NotificationHook>> hooksPageStream = hooks.streamByPage(); int[] pageCount = new int[1]; hooksPageStream.forEach(hookPage -> { System.out.printf("Page: %d%n", pageCount[0]++); for (NotificationHook notificationHook : hookPage.getElements()) { if (notificationHook instanceof EmailNotificationHook) { EmailNotificationHook emailHook = (EmailNotificationHook) notificationHook; System.out.printf("Email Hook Id: %s%n", emailHook.getId()); System.out.printf("Email Hook Name: %s%n", emailHook.getName()); System.out.printf("Email Hook Description: %s%n", emailHook.getDescription()); System.out.printf("Email Hook External Link: %s%n", emailHook.getExternalLink()); System.out.printf("Email Hook Emails: %s%n", String.join(",", emailHook.getEmailsToAlert())); System.out.printf("Email Hook Admins: %s%n", String.join(",", emailHook.getAdmins())); } else if (notificationHook instanceof WebNotificationHook) { WebNotificationHook webHook = (WebNotificationHook) notificationHook; System.out.printf("Web Hook Id: %s%n", webHook.getId()); System.out.printf("Web Hook Name: %s%n", webHook.getName()); System.out.printf("Web Hook Description: %s%n", webHook.getDescription()); System.out.printf("Web Hook External Link: %s%n", webHook.getExternalLink()); System.out.printf("Web Hook Endpoint: %s%n", webHook.getEndpoint()); System.out.printf("Web Hook Headers: %s%n", webHook.getHttpHeaders()); System.out.printf("Web Hook Admins: %s%n", String.join(",", webHook.getAdmins())); } } });- Parameters:
options- The additional parameters.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
PagedIterablecontaining information of theNotificationHookresources.
-
createAlertConfig
Create a configuration to trigger alert when anomalies are detected.Code sample
String detectionConfigurationId1 = "9ol48er30-6e6e-4391-b78f-b00dfee1e6f5"; String detectionConfigurationId2 = "3e58er30-6e6e-4391-b78f-b00dfee1e6f5"; String hookId1 = "5f48er30-6e6e-4391-b78f-b00dfee1e6f5"; String hookId2 = "8i48er30-6e6e-4391-b78f-b00dfee1e6f5"; final AnomalyAlertConfiguration anomalyAlertConfiguration = metricsAdvisorAdminClient.createAlertConfig( new AnomalyAlertConfiguration("My AnomalyAlert config name") .setDescription("alert config description") .setMetricAlertConfigurations(Arrays.asList( new MetricAlertConfiguration(detectionConfigurationId1, MetricAnomalyAlertScope.forWholeSeries()), new MetricAlertConfiguration(detectionConfigurationId2, MetricAnomalyAlertScope.forWholeSeries()) .setAlertConditions(new MetricAnomalyAlertConditions() .setSeverityRangeCondition(new SeverityCondition(AnomalySeverity.HIGH, AnomalySeverity.HIGH))))) .setCrossMetricsOperator(MetricAlertConfigurationsOperator.AND) .setHookIdsToAlert(Arrays.asList(hookId1, hookId2))); System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString());- Parameters:
alertConfiguration- The anomaly alerting configuration.- Returns:
- The
AnomalyAlertConfigurationthat was created.
-
createAlertConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyAlertConfiguration> createAlertConfigWithResponse(AnomalyAlertConfiguration alertConfiguration, com.azure.core.util.Context context) Create a configuration to trigger alert when anomalies are detected.Code sample
String detectionConfigurationId1 = "9ol48er30-6e6e-4391-b78f-b00dfee1e6f5"; String detectionConfigurationId2 = "3e58er30-6e6e-4391-b78f-b00dfee1e6f5"; String hookId1 = "5f48er30-6e6e-4391-b78f-b00dfee1e6f5"; String hookId2 = "8i48er30-6e6e-4391-b78f-b00dfee1e6f5"; final Response<AnomalyAlertConfiguration> alertConfigurationResponse = metricsAdvisorAdminClient.createAlertConfigWithResponse( new AnomalyAlertConfiguration("My AnomalyAlert config name") .setDescription("alert config description") .setMetricAlertConfigurations(Arrays.asList( new MetricAlertConfiguration(detectionConfigurationId1, MetricAnomalyAlertScope.forWholeSeries()), new MetricAlertConfiguration(detectionConfigurationId2, MetricAnomalyAlertScope.forWholeSeries()) .setAlertConditions(new MetricAnomalyAlertConditions() .setSeverityRangeCondition(new SeverityCondition(AnomalySeverity.HIGH, AnomalySeverity.HIGH))))) .setCrossMetricsOperator(MetricAlertConfigurationsOperator.AND) .setHookIdsToAlert(Arrays.asList(hookId1, hookId2)), Context.NONE); System.out.printf("DataPoint Anomaly alert creation operation status: %s%n", alertConfigurationResponse.getStatusCode()); final AnomalyAlertConfiguration anomalyAlertConfiguration = alertConfigurationResponse.getValue(); System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString());- Parameters:
alertConfiguration- The anomaly alerting configuration.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining the createdAnomalyAlertConfiguration.
-
getAlertConfig
Get the anomaly alert configuration identified byalertConfigurationId.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; AnomalyAlertConfiguration anomalyAlertConfiguration = metricsAdvisorAdminClient.getAlertConfig(alertConfigId); System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString());- Parameters:
alertConfigurationId- The anomaly alert configuration id.- Returns:
- The
AnomalyAlertConfigurationidentified by the given id. - Throws:
NullPointerException- thrown if thealertConfigurationIdis null.IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
getAlertConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyAlertConfiguration> getAlertConfigWithResponse(String alertConfigurationId, com.azure.core.util.Context context) Get the anomaly alert configuration identified byalertConfigurationId.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; Response<AnomalyAlertConfiguration> alertConfigurationResponse = metricsAdvisorAdminClient.getAlertConfigWithResponse(alertConfigId, Context.NONE); System.out.printf("DataPoint Anomaly alert creation operation status: %s%n", alertConfigurationResponse.getStatusCode()); final AnomalyAlertConfiguration anomalyAlertConfiguration = alertConfigurationResponse.getValue(); System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString());- Parameters:
alertConfigurationId- The anomaly alert configuration id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
responsecontaining theAnomalyAlertConfigurationidentified by the given id. - Throws:
IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
updateAlertConfig
Update anomaly alert configuration.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; String additionalHookId = "2gh8er30-6e6e-4391-b78f-bpfdfee1e6f5"; AnomalyAlertConfiguration existingAnomalyConfig = metricsAdvisorAdminClient.getAlertConfig(alertConfigId); List<String> hookIds = new ArrayList<>(existingAnomalyConfig.getHookIdsToAlert()); hookIds.add(additionalHookId); final AnomalyAlertConfiguration updatedAnomalyAlertConfiguration = metricsAdvisorAdminClient.updateAlertConfig( existingAnomalyConfig .setHookIdsToAlert(hookIds) .setDescription("updated to add more hook ids") ); System.out.printf("Updated anomaly alert configuration Id: %s%n", updatedAnomalyAlertConfiguration.getId()); System.out.printf("Updated anomaly alert configuration description: %s%n", updatedAnomalyAlertConfiguration.getDescription()); System.out.printf("Updated anomaly alert configuration hook ids: %s%n", updatedAnomalyAlertConfiguration.getHookIdsToAlert());- Parameters:
alertConfiguration- The anomaly alert configuration to update.- Returns:
- The
AnomalyAlertConfigurationthat was updated. - Throws:
NullPointerException- thrown ifalertConfigurationoralertConfiguration.metricAnomalyAlertConfigurationsis null or empty.IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
updateAlertConfigWithResponse
public com.azure.core.http.rest.Response<AnomalyAlertConfiguration> updateAlertConfigWithResponse(AnomalyAlertConfiguration alertConfiguration, com.azure.core.util.Context context) Update anomaly alert configuration.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; String additionalHookId = "2gh8er30-6e6e-4391-b78f-bpfdfee1e6f5"; AnomalyAlertConfiguration existingAnomalyConfig = metricsAdvisorAdminClient.getAlertConfig(alertConfigId); List<String> hookIds = new ArrayList<>(existingAnomalyConfig.getHookIdsToAlert()); hookIds.add(additionalHookId); final Response<AnomalyAlertConfiguration> alertConfigurationResponse = metricsAdvisorAdminClient.updateAlertConfigWithResponse( existingAnomalyConfig .setHookIdsToAlert(hookIds) .setDescription("updated to add more hook ids"), Context.NONE); System.out.printf("Update anomaly alert operation status: %s%n", alertConfigurationResponse.getStatusCode()); final AnomalyAlertConfiguration updatedAnomalyAlertConfiguration = alertConfigurationResponse.getValue(); System.out.printf("Updated anomaly alert configuration Id: %s%n", updatedAnomalyAlertConfiguration.getId()); System.out.printf("Updated anomaly alert configuration description: %s%n", updatedAnomalyAlertConfiguration.getDescription()); System.out.printf("Updated anomaly alert configuration hook ids: %sf%n", updatedAnomalyAlertConfiguration.getHookIdsToAlert());- Parameters:
alertConfiguration- The anomaly alert configuration to update.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
Responsecontaining theAnomalyAlertConfigurationthat was updated. - Throws:
NullPointerException- thrown ifalertConfigurationoralertConfiguration.metricAnomalyAlertConfigurationsis null or empty.IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
deleteAlertConfig
Deletes the anomaly alert configuration identified byalertConfigurationId.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; metricsAdvisorAdminClient.deleteAlertConfig(alertConfigId);
- Parameters:
alertConfigurationId- The anomaly alert configuration id.- Throws:
NullPointerException- thrown if thealertConfigurationIdis null.IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
deleteAlertConfigWithResponse
public com.azure.core.http.rest.Response<Void> deleteAlertConfigWithResponse(String alertConfigurationId, com.azure.core.util.Context context) Deletes the anomaly alert configuration identified byalertConfigurationId.Code sample
String alertConfigId = "1p0f8er30-6e6e-4391-b78f-bpfdfee1e6f5"; final Response<Void> response = metricsAdvisorAdminClient.deleteAlertConfigWithResponse(alertConfigId, Context.NONE); System.out.printf("DataPoint Anomaly alert config delete operation status : %s%n", response.getStatusCode());- Parameters:
alertConfigurationId- The anomaly alert configuration id.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A response containing status code and headers returned after the operation.
- Throws:
NullPointerException- thrown if thealertConfigurationIdis null.IllegalArgumentException- IfalertConfigurationIddoes not conform to the UUID format specification.
-
listAlertConfigs
public com.azure.core.http.rest.PagedIterable<AnomalyAlertConfiguration> listAlertConfigs(String detectionConfigurationId, ListAnomalyAlertConfigsOptions options) Fetch the anomaly alert configurations associated with a detection configuration.Code sample
String detectionConfigId = "3rt98er30-6e6e-4391-b78f-bpfdfee1e6f5"; metricsAdvisorAdminClient.listAlertConfigs(detectionConfigId, new ListAnomalyAlertConfigsOptions()) .forEach(anomalyAlertConfiguration -> { System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString()); });- Parameters:
detectionConfigurationId- The id of the detection configuration.options- th e additional configurable options to specify when querying the result.- Returns:
- A
PagedIterablecontaining information of all theanomaly alert configurationsfor the specified detection configuration. - Throws:
NullPointerException- thrown if thedetectionConfigurationIdis null.IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.
-
listAlertConfigs
public com.azure.core.http.rest.PagedIterable<AnomalyAlertConfiguration> listAlertConfigs(String detectionConfigurationId, ListAnomalyAlertConfigsOptions options, com.azure.core.util.Context context) Fetch the anomaly alert configurations associated with a detection configuration.Code sample
String detectionConfigId = "3rt98er30-6e6e-4391-b78f-bpfdfee1e6f5"; metricsAdvisorAdminClient.listAlertConfigs(detectionConfigId, new ListAnomalyAlertConfigsOptions(), Context.NONE) .forEach(anomalyAlertConfiguration -> { System.out.printf("DataPoint Anomaly alert configuration Id: %s%n", anomalyAlertConfiguration.getId()); System.out.printf("DataPoint Anomaly alert configuration description: %s%n", anomalyAlertConfiguration.getDescription()); System.out.printf("DataPoint Anomaly alert configuration hook ids: %s%n", anomalyAlertConfiguration.getHookIdsToAlert()); System.out.printf("DataPoint Anomaly alert configuration cross metrics operator: %s%n", anomalyAlertConfiguration.getCrossMetricsOperator().toString()); });- Parameters:
detectionConfigurationId- The id of the detection configuration.options- th e additional configurable options to specify when querying the result.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
PagedIterablecontaining information of all theanomaly alert configurationsfor the specified detection configuration. - Throws:
NullPointerException- thrown if thedetectionConfigurationIdis null.IllegalArgumentException- IfdetectionConfigurationIddoes not conform to the UUID format specification.
-
createDataSourceCredential
public DataSourceCredentialEntity createDataSourceCredential(DataSourceCredentialEntity dataSourceCredential) Create a data source credential entity.Code sample
DataSourceCredentialEntity datasourceCredential; final String name = "sample_name" + UUID.randomUUID(); final String cId = "f45668b2-bffa-11eb-8529-0246ac130003"; final String tId = "67890ded-5e07-4e52-b225-4ae8f905afb5"; final String mockSecret = "890hy69-5e07-4e52-b225-4ae8f905afb5"; datasourceCredential = new DataSourceServicePrincipalInKeyVault() .setName(name) .setKeyVaultForDataSourceSecrets("kv", cId, mockSecret) .setTenantId(tId) .setSecretNameForDataSourceClientId("DSClientID_1") .setSecretNameForDataSourceClientSecret("DSClientSer_1"); DataSourceCredentialEntity credentialEntity = metricsAdvisorAdminClient.createDataSourceCredential(datasourceCredential); if (credentialEntity instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntity; System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); }- Parameters:
dataSourceCredential- The credential entity.- Returns:
- The created
DataSourceCredentialEntity. - Throws:
NullPointerException- thrown if thecredentialEntityis null
-
createDataSourceCredentialWithResponse
public com.azure.core.http.rest.Response<DataSourceCredentialEntity> createDataSourceCredentialWithResponse(DataSourceCredentialEntity dataSourceCredential, com.azure.core.util.Context context) Create a data source credential entity with REST response.Code sample
DataSourceCredentialEntity datasourceCredential; final String name = "sample_name" + UUID.randomUUID(); final String cId = "f45668b2-bffa-11eb-8529-0246ac130003"; final String tId = "67890ded-5e07-4e52-b225-4ae8f905afb5"; final String mockSecret = "890hy69-5e07-4e52-b225-4ae8f905afb5"; datasourceCredential = new DataSourceServicePrincipalInKeyVault() .setName(name) .setKeyVaultForDataSourceSecrets("kv", cId, mockSecret) .setTenantId(tId) .setSecretNameForDataSourceClientId("DSClientID_1") .setSecretNameForDataSourceClientSecret("DSClientSer_1"); Response<DataSourceCredentialEntity> credentialEntityWithResponse = metricsAdvisorAdminClient.createDataSourceCredentialWithResponse(datasourceCredential, Context.NONE); System.out.printf("Credential Entity creation operation status: %s%n", credentialEntityWithResponse.getStatusCode()); if (credentialEntityWithResponse.getValue() instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntityWithResponse.getValue(); System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); }- Parameters:
dataSourceCredential- The credential entity.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- A
Responsecontaining the createdDataSourceCredentialEntity. - Throws:
NullPointerException- thrown if thecredentialEntityis null
-
getDataSourceCredential
Get a data source credential entity by its id.Code sample
final String datasourceCredentialId = "f45668b2-bffa-11eb-8529-0246ac130003"; DataSourceCredentialEntity credentialEntity = metricsAdvisorAdminClient.getDataSourceCredential(datasourceCredentialId); if (credentialEntity instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntity; System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); }- Parameters:
credentialId- The data source credential entity unique id.- Returns:
- The data source credential entity for the provided id.
- Throws:
IllegalArgumentException- IfcredentialIddoes not conform to the UUID format specification.NullPointerException- thrown if thecredentialIdis null.
-
getDataSourceCredentialWithResponse
public com.azure.core.http.rest.Response<DataSourceCredentialEntity> getDataSourceCredentialWithResponse(String credentialId, com.azure.core.util.Context context) Get a data source credential entity by its id with REST response.Code sample
final String datasourceCredentialId = "f45668b2-bffa-11eb-8529-0246ac130003"; Response<DataSourceCredentialEntity> credentialEntityWithResponse = metricsAdvisorAdminClient.getDataSourceCredentialWithResponse(datasourceCredentialId, Context.NONE); System.out.printf("Credential Entity creation operation status: %s%n", credentialEntityWithResponse.getStatusCode()); if (credentialEntityWithResponse.getValue() instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntityWithResponse.getValue(); System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); }- Parameters:
credentialId- The data source credential entity unique id.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- The data feed for the provided id.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
updateDataSourceCredential
public DataSourceCredentialEntity updateDataSourceCredential(DataSourceCredentialEntity dataSourceCredential) Update a data source credential entity.Code sample
final String datasourceCredentialId = "f45668b2-bffa-11eb-8529-0246ac130003"; DataSourceCredentialEntity existingDatasourceCredential = metricsAdvisorAdminClient.getDataSourceCredential(datasourceCredentialId); DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = null; if (existingDatasourceCredential instanceof DataSourceServicePrincipalInKeyVault) { actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) existingDatasourceCredential; } DataSourceCredentialEntity credentialEntity = metricsAdvisorAdminClient.updateDataSourceCredential( actualCredentialSPInKV.setDescription("set updated description")); if (credentialEntity instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault updatedCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntity; System.out.printf("Actual credential entity key vault endpoint: %s%n", updatedCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault updated description: %s%n", updatedCredentialSPInKV.getDescription()); }- Parameters:
dataSourceCredential- The credential entity.- Returns:
- The updated
DataSourceCredentialEntity. - Throws:
NullPointerException- thrown if thecredentialEntityis null
-
updateDataSourceCredentialWithResponse
public com.azure.core.http.rest.Response<DataSourceCredentialEntity> updateDataSourceCredentialWithResponse(DataSourceCredentialEntity dataSourceCredential, com.azure.core.util.Context context) Update a data source credential entity.Code sample
final String datasourceCredentialId = "f45668b2-bffa-11eb-8529-0246ac130003"; DataSourceCredentialEntity existingDatasourceCredential = metricsAdvisorAdminClient.getDataSourceCredential(datasourceCredentialId); DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = null; if (existingDatasourceCredential instanceof DataSourceServicePrincipalInKeyVault) { actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) existingDatasourceCredential; } Response<DataSourceCredentialEntity> credentialEntityWithResponse = metricsAdvisorAdminClient.updateDataSourceCredentialWithResponse( actualCredentialSPInKV.setDescription("set updated description"), Context.NONE); System.out.printf("Credential Entity creation operation status: %s%n", credentialEntityWithResponse.getStatusCode()); if (credentialEntityWithResponse.getValue() instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault updatedCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) credentialEntityWithResponse.getValue(); System.out.printf("Actual credential entity key vault endpoint: %s%n", updatedCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault updated description: %s%n", updatedCredentialSPInKV.getDescription()); }- Parameters:
dataSourceCredential- The credential entity.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- A
Responsecontaining the updatedDataSourceCredentialEntity. - Throws:
NullPointerException- thrown if thecredentialEntityis null
-
deleteDataSourceCredential
Delete a data source credential entity.Code sample
final String datasourceCredentialId = "t00853f1-9080-447f-bacf-8dccf2e86f"; metricsAdvisorAdminClient.deleteDataFeed(datasourceCredentialId);
- Parameters:
credentialId- The data source credential entity unique id.- Throws:
IllegalArgumentException- IfcredentialIddoes not conform to the UUID format specification.NullPointerException- thrown if thecredentialIdis null.
-
deleteDataSourceCredentialWithResponse
public com.azure.core.http.rest.Response<Void> deleteDataSourceCredentialWithResponse(String credentialId, com.azure.core.util.Context context) Delete a data source credential entity with REST response.Code sample
final String datasourceCredentialId = "eh0854f1-8927-447f-bacf-8dccf2e86fwe"; Response<Void> response = metricsAdvisorAdminClient.deleteDataSourceCredentialWithResponse(datasourceCredentialId, Context.NONE); System.out.printf("Datasource credential delete operation status : %s%n", response.getStatusCode());- Parameters:
credentialId- The data source credential entity unique id.context- Additional context that is passed through the HTTP pipeline during the service call.- Returns:
- a REST Response.
- Throws:
IllegalArgumentException- IfdataFeedIddoes not conform to the UUID format specification.NullPointerException- thrown if thedataFeedIdis null.
-
listDataSourceCredentials
public com.azure.core.http.rest.PagedIterable<DataSourceCredentialEntity> listDataSourceCredentials()List information of all data source credential entities on the metrics advisor account.Code sample
metricsAdvisorAdminClient.listDataSourceCredentials() .forEach(datasourceCredentialEntity -> { if (datasourceCredentialEntity instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) datasourceCredentialEntity; System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); } });- Returns:
- A
PagedIterablecontaining information of all theDataSourceCredentialEntityin the account.
-
listDataSourceCredentials
public com.azure.core.http.rest.PagedIterable<DataSourceCredentialEntity> listDataSourceCredentials(ListCredentialEntityOptions options, com.azure.core.util.Context context) List information of all data source credential entities on the metrics advisor account.Code sample
metricsAdvisorAdminClient.listDataSourceCredentials( new ListCredentialEntityOptions() .setMaxPageSize(3), Context.NONE) .forEach(datasourceCredentialEntity -> { if (datasourceCredentialEntity instanceof DataSourceServicePrincipalInKeyVault) { DataSourceServicePrincipalInKeyVault actualCredentialSPInKV = (DataSourceServicePrincipalInKeyVault) datasourceCredentialEntity; System.out .printf("Actual credential entity key vault endpoint: %s%n", actualCredentialSPInKV.getKeyVaultEndpoint()); System.out.printf("Actual credential entity key vault client Id: %s%n", actualCredentialSPInKV.getKeyVaultClientId()); System.out.printf("Actual credential entity key vault secret name for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientId()); System.out.printf("Actual credential entity key vault secret for data source: %s%n", actualCredentialSPInKV.getSecretNameForDataSourceClientSecret()); } });- Parameters:
options- The configurableoptionsto pass for filtering the output result.context- Additional context that is passed through the Http pipeline during the service call.- Returns:
- A
PagedIterablecontaining information of all theDataSourceCredentialEntityin the account.
-