How to react to message from Microsoft regarding updating API's

1.8k Views Asked by At

I got a message from Microsoft in the last few days

Azure SQL Database 2014-04-01 APIs will be retired on 31 October 2025.

You're receiving this email because you use Azure SQL Database APIs.

To improve performance and security, we're updating Azure SQL Database APIs. As part of this, all version 2014-04-01 APIs will be retired on 31 October 2025. You'll need to update your resources, including templates, tools, scripts, and programs, to use a newer API version by then. Any API calls still using the older versions after that date will stop working until you've updated them.

I access my Azure SQL Databases in the following manner.

  1. From the WebApp via a Java connection and an ODBC driver

    public final class DBConnection {
    private static DataSource ds = null;
    private static DBConnection instance = null;
    
    private DBConnection() throws NamingException {
       InitialContext ic = new InitialContext();
       ds = (DataSource) ic.lookup(Monitor.getDsName());
    }
    
    <dependency>
         <groupId>com.microsoft.sqlserver</groupId>
         <artifactId>mssql-jdbc</artifactId>
         <version>10.2.1.jre11</version>
     </dependency>
    
  2. via sqlcmd

  3. via node.js

     const configDB = {
    
     user: "",
     password: "",
     server: "myserver.database.windows.net",
     database: "mydb",
     connectionTimeout: 3000,
     parseJSON: true,
     options: {
         encrypt: true,
         enableArithAbort: true
     },
     pool: {
         min: 0,
         idleTimeoutMillis: 3000
     }
     };
     const poolDB = new sql.ConnectionPool(configDB);
     aLine='EXEC ...'
     await poolFOI.connect();
     let resultDB = await poolDB.request().query(aLine);
    
  4. Via Azure Logic Apps (using an API Connections)

  5. Via Azure Function Apps (connecting similar to the WebApp Above)

  6. Via SSMS

Which of these are possibly triggering the message about Azure SQL Database APIs? Also I started using Azure after 2020, so it does not make sense to me that I would be using APIs from 2014

3

There are 3 best solutions below

0
Gaurav Mantri On BEST ANSWER

The API mentioned in the email (I also got the same) is for managing the SQL Database Servers and the Database itself (in other words they are the control plane API) and not the data inside them. You would use the SQL REST API to perform management operations on the SQL Database resources.

They will have no impact on how you connect to the database and manage the data inside those databases which is what your code is currently doing.

So unless you are using the version 2014-04-01 of the REST API to manage the SQL Database Servers and SQL Databases (and not the data inside them), you can safely ignore the email.

You can learn more about the SQL Database REST APIs here: https://learn.microsoft.com/en-us/rest/api/sql/.

2
Stephen Cleary On

I started using Azure after 2020, so it does not make sense to me that I would be using APIs from 2014

2014-04-01 refers to a specific version of the Azure SQL Database APIs. Azure API HTTP requests specify their version explicitly, usually via a header or query parameter. It looks like Azure SQL Database specifies the API version in an api-version query parameter. API versions are not updated very often, so it's normal to use a version that's years old. E.g., the next stable version after 2014-04-01 is 2021-11-01.

Whatever libraries you're using are probably tied to a specific version, and you can probably just upgrade those libraries to use a later API version. If you're not sure which library is using the old version, you can try using an HTTP proxy to sniff the traffic and inspect the api-version query parameter.

1
sam On

I found an answer which helps with a little more context on finding out usage here: https://learn.microsoft.com/en-us/answers/questions/1072411/how-do-i-update-an-azure-sql-database-to-a-newer-v

You could use this query to find out more on your usage:

HttpIncomingRequests  
| where TIMESTAMP > ago(1d)  
| where targetResourceProvider == 'MICROSOFT.SQL'  
| where subscriptionId == 'xxxxxxxxxxxx'  
| where apiVersion == "2014-04-01" or apiVersion == "2014-01-01" or apiVersion == "2014-04-01-preview"

To possibly answer "Which of these are possibly triggering the message about Azure SQL Database APIs?":

Customers who have registered for Microsoft.SQL will receive these notifications, Even though if the customer did not create the Azure SQL DB they receive it due to the Microsft.SQL is registered for the subscription.

Sounds like we should get more details soon? (It was posted Nov 2nd)

there will be coming up more details on this retirement in the next few weeks