Search code examples
azureazure-web-app-serviceazure-logic-appsazure-app-service-envrmnt

logic apps standard - The service provider action failed with error code 'InvalidServiceProviderConnection'


I have a logic apps standard workflow running in an app service environment v3.

It has a simple http trigger that attempts to use a built-in file system connector to list files at "\\live.sysinternals.com\files"

The list files action gives the following error:

"message": "The service provider action failed with error code 'InvalidServiceProviderConnection' and error message 'The mounpath C:\\mounts\\FileSystem does not exist as the provided connection is invalid.'."

the workflow is as follows:

{
    "definition": {
        "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
        "actions": {
            "List_files_and_subfolders_in_a_folder": {
                "inputs": {
                    "parameters": {
                        "folderPath": "\\\\live.sysinternals.com\\files"
                    },
                    "serviceProviderConfiguration": {
                        "connectionName": "FileSystem",
                        "operationId": "listFolder",
                        "serviceProviderId": "/serviceProviders/FileSystem"
                    }
                },
                "runAfter": {},
                "type": "ServiceProvider"
            }
        },
        "contentVersion": "1.0.0.0",
        "outputs": {},
        "triggers": {
            "manual": {
                "inputs": {},
                "kind": "Http",
                "type": "Request"
            }
        }
    },
    "kind": "Stateful"
}

I have checked the configuration blade in the Azure portal for the logic app. I can confirm that it has a config name of "FileSystem_mountPath" with a value of "C:\mounts\FileSystem". I then opened a kudu session / PowerShell console. I could see there's a "C:\mounts" folder but this is empty.

To get over this problem, I updated the config value "FileSystem_mountPath" to "C:\mounts". On re-running the workflow I got the following error:

The service provider action failed with error code 'ServiceOperationResourceNotFound' and error message 'Could not find a part of the path 'C:\live.sysinternals.com\files'

I'm not sure why the connector is insisting on looking on the c drive?


Solution

  • It seems the built-in file system connector makes use of a temp folder on the app service c drive. It also creates an environment variable to reference this - see the configuration section of the logic app.

    I'm not sure what caused this problem but it is working ok now. Maybe there was a fix to the connector - it is currently in public preview rather than GA.