I checked and none of my Logic Apps use a V1 connector or trigger. What would have triggered the email?
| You're receiving this email because you're currently using SQL Server connector's V1actions and/or triggers.
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
This morning we received an email stating that "SQL Server connector's V1 actions and triggers will be retired on 31 March 2024 – transition to SQL Server connector's V2 actions and triggers".
It also says that the reason we are receiving the email is that we are currently using a V1 action somewhere in our subscription.
However, after browsing through our logic apps I cannot see any indication of a V1 action being used.
The documentation does not clearly specify the best way to identify if a connector is running V1 or V2: https://learn.microsoft.com/en-us/connectors/sql/#migrate-v1-operations-to-v2-equivalent
So my question is basically; What is the best way to verify that a action is V2 and not V1?
I checked and none of my Logic Apps use a V1 connector or trigger. What would have triggered the email?
| You're receiving this email because you're currently using SQL Server connector's V1actions and/or triggers.
@Anonymous Thanks for reaching out. An action with v2 will have that in the action name.
If the action names changed, then you can click on about icon Where it lists the connection info as shown below
or In the Logic App Designer, switch to the code view. This will show you the JSON definition it would specify the path at /v2/.
let me know incase of further queries, I would be happy to assist you.
Please 'Accept as answer' and ‘Upvote’ if it helped so that it can help others in the community looking for help on similar topics.
Hello, I have published an article on tech community's Azure Integration Blog for a PowerShell script and another option for Azure Resource Graph Explorer Query to address the above issue: https://techcommunity.microsoft.com/t5/azure-integration-services-blog/identify-logic-apps-consumption-that-are-using-deprecated-v1/ba-p/4063550
Update for the community:
To pull all V1 actions in a subscription, use the below query in Azure Resource Graph Explorer (similar discussion) which will list the resource group, logic app name, action count etc.
resources
| where subscriptionId == "<subscription-id>"
| where type == "microsoft.logic/workflows"
| extend propertiesJson=parse_json(properties)
| extend actionsJson=propertiesJson["definition"]["actions"]
| mv-expand actionsJson
| where notnull(actionsJson)
| extend path=extract("\"path\":\"(.*?)\"", 1, tostring(actionsJson))
| where notnull(path) and path startswith "/datasets/default/"
| extend actionConnectionName=extract("\"connection\":{\"name\":\"(.*?)\"}", 1, tostring(actionsJson))
| where notnull(actionConnectionName)
| parse actionConnectionName with "@parameters('$connections')['"parsedActionConnectionName"']['connectionId']"
| extend tmpConnection = propertiesJson["parameters"]["$connections"]["value"][parsedActionConnectionName]
| where notnull(tmpConnection)
| extend connectionId=extract("\"id\":\"(.*?)\"", 1, tostring(tmpConnection))
| where notnull(connectionId) and connectionId endswith "/managedApis/sql"
| project id, name, resourceGroup, actionsJson
| summarize v1ActionCount = count() by resourceGroup, logicAppName = name
For V1 triggers:
resources
| where subscriptionId == "<subscription-id>"
| where type == "microsoft.logic/workflows"
| extend propertiesJson=parse_json(properties)
| extend triggersJson=propertiesJson["definition"]["triggers"]
| mv-expand triggersJson
| where notnull(triggersJson)
| extend path=extract("\"path\":\"(.*?)\"", 1, tostring(triggersJson))
| where notnull(path) and path startswith "/datasets/default/"
| extend triggerConnectionName=extract("\"connection\":{\"name\":\"(.*?)\"}", 1, tostring(triggersJson))
| where notnull(triggerConnectionName)
| parse triggerConnectionName with "@parameters('$connections')['"parsedTriggerConnectionName"']['connectionId']"
| extend tmpConnection = propertiesJson["parameters"]["$connections"]["value"][parsedTriggerConnectionName]
| where notnull(tmpConnection)
| extend connectionId=extract("\"id\":\"(.*?)\"", 1, tostring(tmpConnection))
| where notnull(connectionId) and connectionId endswith "/managedApis/sql"
| project id, name, resourceGroup, triggersJson
| summarize v1TriggerCount = count() by resourceGroup, logicAppName = name
Our product team is actively working on to update the info in https://learn.microsoft.com/en-us/connectors/sql doc. We are sincerely sorry for the inconvenience caused by this issue.
I hope this helps and let me know if any questions.
Hello everyone! Want to pinpoint all Logic Apps Consumption and spot all the SQL v1 actions and triggers? Check out our latest blog post! We've got a PowerShell script that does just that!
We've also included a PowerShell script to identify SQL v2 actions and triggers.
Our blog post: https://blog.sandro-pereira.com/2024/03/15/powershell-script-to-identify-all-sql-v1-actions-and-triggers-inside-logic-apps-consumption/
The great thing about this script is that it also identifies all nested actions (actions inside other actions like If, Scopes, Switch, and so on)
I hope this helps and let us know if you have any questions.