Class MetricsAdvisorAdministrationClient
This class provides a synchronous client to connect to the Metrics Advisor Azure Cognitive Service.
This client provides synchronous methods to perform:
- Connect to a variety of data sources, Metrics Advisor can connect to, and ingest multi-dimensional metric data
from many data stores, including: SQL Server, Azure Blob Storage, and MongoDB. Use
createDataFeed(DataFeed)method to add your respective data source. - Customize anomaly detection configuration to detect anomalies for your needs using the
createDetectionConfig(String, AnomalyDetectionConfiguration)method. - Add real-time notification through multiple channels. Configure hooks for multiple alerting and detection
configuration using the
createHook(NotificationHook)method./li>
Service clients are the point of interaction for developers to use Azure Metrics Advisor.
MetricsAdvisorAdministrationClient is the synchronous service client and
MetricsAdvisorAdministrationAsyncClient is the asynchronous service client.
The examples shown in this document use a credential object named DefaultAzureCredential for authentication, which is
appropriate for most scenarios, including local development and production environments. Additionally, we
recommend using
managed identity
for authentication in production environments.
You can find more information on different ways of authenticating and their corresponding credential types in the
Azure Identity documentation".
Sample: Construct a MetricsAdvisorAdministrationClient with DefaultAzureCredential
The following code sample demonstrates the creation of a
MetricsAdvisorAdministrationClient, using the `DefaultAzureCredentialBuilder` to configure it.
MetricsAdvisorAdministrationClient metricsAdvisorAdminClient =
new MetricsAdvisorAdministrationClientBuilder()
.credential(new DefaultAzureCredentialBuilder().build())
.endpoint("{endpoint}")
.buildClient();
Further, see the code sample below to use
MetricsAdvisorKeyCredential for client creation.
MetricsAdvisorAdministrationClient metricsAdvisorAdminClient =
new MetricsAdvisorAdministrationClientBuilder()
.credential(new MetricsAdvisorKeyCredential("{subscription_key}", "{api_key}"))
.endpoint("{endpoint}")
.buildClient();
- See Also:
-
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
final String dataFeedId = "r47053f1-9080-09lo-bacf-8dccf2e86f"; DataFeed existingDataFeed = metricsAdvisorAdminClient.getDataFeed(dataFeedId); 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 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 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.
-