Twin Config
To host external applications in the AppHostingModule, each application requires some configuration. The twin configuration should contain a list of applications, that are set in the property "applications".
The required properties for each application are:
- executableName: Name of the executable to run. Only .net dll's and exe files are currently supported. 
- executableFolderInsideZip: The AppHostingModule downloads zip files containing the application. This property states the path inside the zip file, to the executable. If the executable is not in a folder, leave this empty. 
- sasUri: SAS uri for cloud blob storage location of the application zip file. There is one SAS Uri per application. 
- httpPort: The port exposed by the application. Currently only supports http from localhost. 
- executableArguments: The arguments provided for running the executable. 
- executableType: Application type. Currently only "Dotnet" is supported (0). 
- zipFileName: Name of the zip file, containing the application. 
- validateChecksum: If set to true, the zip file checksum is validated against the sha256Checksum, to ensure the file integrity. 
- sha256Checksum: If the validateChecksum is set to true, this property holds the desired sha256 checksum. 
To generate the sha256 checksum, the following powershell must be executed:
Get-FileHash <Path to zip file>
Here is an example of a twin configuration, containing 2 .net applications:
"applications": {
    "Application1": {
        "executableName": "Application1.dll",
        "executableFolderInsideZip": "",
        "sasUri": "https://tciotingestionstoragedev.blob.core.windows.net/app-hosting-module-drop/Application1.zip?sp=r&st=2023-02-20T09:39:24Z&se=2024-02-20T17:39:24Z&spr=https&sv=2021-06-08&sr=b&sig=ETj8%2BxIdf3duGOmp6xyOkf4mxv4dDAHSJNbJMXhOccU%3D",
        "httpPort": "5010",
        "executableArguments": "--AppHostingModuleRootDirectoryPath=/appdata/apphostingmodule --ImagesRootDirectoryPath=/appdata/images",
        "executableType": 0,
        "zipFileName": "Application1.zip",
        "validateChecksum": true,
        "sha256Checksum": "8F4E994DCE5EC56AFCE7188B11B47A6F705AC3EB8D209312140433A202E3E04C"
    },
    "Application2": {
        "executableName": "Application2.exe",
        "executableFolderInsideZip": "",
        "sasUri": "https://tciotingestionstoragedev.blob.core.windows.net/app-hosting-module-drop/Application2.zip?sp=r&st=2023-02-20T09:39:24Z&se=2024-02-20T17:39:24Z&spr=https&sv=2021-06-08&sr=b&sig=ETj8%2BxIdf3duGOmp6xyOkf4mxv4dDAHSJNbJMXhOccU%3D",
        "httpPort": "5011",
        "executableArguments": "--AppHostingModuleRootDirectoryPath=/appdata/apphostingmodule --ImagesRootDirectoryPath=/appdata/images",
        "executableType": 0,
        "zipFileName": "Application2.zip",
        "validateChecksum": false,
        "sha256Checksum": ""
    }
}Last updated
Was this helpful?