Azure SQL Database Plugin

The plugin provides functionality to interact with Azure SQL Database.

Installation

  1. Copy the below line to dependencies section of the project build.gradle file

    Example 1. build.gradle
    implementation(group: 'org.vividus', name: 'vividus-plugin-azure-sql-db', version: '0.5.2')
  2. If the project was imported to the IDE before adding new plugin, re-generate the configuration files for the used IDE and then refresh the project in the used IDE.

SQL Database management

Configuration

Authentication

The authentication process relies on the configuration of the environment variables.

See the official "Azure identity" guide to get more details on what types of authentication could be used.

Azure environment selection

Azure environment could be optionally specified using the property azure.environment (sets the environment for all Azure plugins). The default value is AZURE.

The supported environments are only:

  • AZURE

  • AZURE_CHINA

  • AZURE_GERMANY

  • AZURE_US_GOVERNMENT

Azure subscription selection

Azure subscription must be configured via AZURE_SUBSCRIPTION_ID environment variable.

Steps

Collect SQL Servers info

The step is deprecated and will be removed in VIVIDUS 0.6.0. The replacement is the generic step retrieving information about Azure resources. The replacement pattern is:

When I get Azure resource with identifier `resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers` using API version `2021-08-01-preview` and save it to <scopes> variable `<variableName>`

Collects the info about all the SQL Servers under the specified resource group and saves it as JSON to a variable. For more information, see the Azure Docs.

When I collect SQL Servers from resource group `$resourceGroupName` and save them as JSON to $scopes variable `$variableName`
  • $resourceGroupName - The name of the resource group within the user’s subscription to retrieve SQL Servers from. The name is case-insensitive.

  • $scopes - The comma-separated set of the variables scopes.

  • $variableName - The variable name to store the info about SQL Servers as JSON.

Example 2. Collect SQL Servers info
When I collect SQL Servers from resource group `TEST-SQL` and save them as JSON to scenario variable `sql-servers`

Collect SQL Databases info

The step is deprecated and will be removed in VIVIDUS 0.6.0. The replacement is the generic step retrieving information about Azure resources. The replacement pattern is:

When I get Azure resource with identifier `resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<sqlServerName>/databases` using API version `2021-08-01-preview` and save it to <scopes> variable `<variableName>`

Collects the info about all the databases belonging to the identified SQL Server under the specified resource group and saves it as JSON to a variable. For more information, see the Azure Docs.

When I collect databases from SQL Server `$sqlServerName` from resource group `$resourceGroupName` and save them as JSON to $scopes variable `$variableName`
  • $sqlServerName - The name of the SQL Server to list databases from.

  • $resourceGroupName - The name of the resource group within the user’s subscription to retrieve the SQL Server from. The name is case-insensitive.

  • $scopes - The comma-separated set of the variables scopes.

  • $variableName - The variable name to store the info about databases as JSON.

Example 3. Collect SQL Databases info
When I collect databases from SQL Server `geography-server` from resource group `TEST-SQL` and save them as JSON to scenario variable `sql-dbs`

Retrieve the SQL Database properties

The step is deprecated and will be removed in VIVIDUS 0.6.0. The replacement is the generic step retrieving information about Azure resources. The replacement pattern is:

When I get Azure resource with identifier `resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<sqlServerName>/databases/<databaseName>` using API version `2021-08-01-preview` and save it to <scopes> variable `<variableName>`

Retrieves the properties of the specified SQL Database belonging to the identified SQL Server and saves them as JSON to a variable. For more information, see the Azure Docs.

When I retrieve properties of database with name `$databaseName` from SQL Server `$sqlServerName` from resource group `$resourceGroupName` and save them as JSON to $scopes variable `$variableName`
  • $databaseName - The name of the SQL Database.

  • $sqlServerName - The name of the SQL Server.

  • $resourceGroupName - The name of the resource group within the user’s subscription to retrieve the SQL Server from. The name is case-insensitive.

  • $scopes - The comma-separated set of the variables scopes.

  • $variableName - The variable name to store the SQL Database properties as JSON.

Example 4. Retrieve the SQL Database properties
When I retrieve properties of database with name `CITY-DB` from SQL Server `geography-server` from resource group `TEST-SQL` and save them as JSON to scenario variable `sql-db-properties`