I want to deploy a Synapse workspace via DevOps and the Synapse workspace deployment addon, but it is giving me an error: Stderr: error: missing required argument 'factoryId'. How do I solve this error?
error: missing required argument 'factoryId' |
2022-10-02T19:05:21.6763177Z ##[section]Starting: Synapseworkspacedeployment 2022-10-02T19:05:21.6900329Z ============================================================================== 2022-10-02T19:05:21.6900630Z Task : Synapse workspace deployment 2022-10-02T19:05:21.6900882Z Description : Deployment task for synapse workspace v2 2022-10-02T19:05:21.6901097Z Version : 2.3.0 2022-10-02T19:05:21.6901303Z Author : Microsoft Corporation 2022-10-02T19:05:21.6901526Z Help : Displays the name of your extension v2 2022-10-02T19:05:21.6901791Z ============================================================================== 2022-10-02T19:05:22.5141212Z Bundle source : https://web.azuresynapse.net/assets/cmd-api/main.js 2022-10-02T19:05:22.5165738Z Downloading asset file 2022-10-02T19:05:23.5975682Z Asset file downloaded at : D:\a\1\s\downloads\main.js 2022-10-02T19:05:23.5986866Z Starting export operation 2022-10-02T19:05:23.5989932Z Executing shell command 2022-10-02T19:05:23.5991887Z Command : node D:\a\1\s\downloads\main.js export "D:\a\1\SynapseArtifact\" dwhtst ExportedArtifacts 2022-10-02T19:05:25.3052935Z Stderr: error: missing required argument 'factoryId' 2022-10-02T19:05:25.3054315Z 2022-10-02T19:05:25.3225669Z Shell execution failed. 2022-10-02T19:05:25.3227048Z An error occurred during execution: Shell execution failed. 2022-10-02T19:05:25.3262506Z ##[error]Encountered with exception:Shell execution failed. 2022-10-02T19:05:25.3355687Z ##[section]Finishing: SynapseworkspacedeploymentSolution
This error points to a mistake in the ArtifactsFolder property of the Synapse workspace deployment@2 task. If you don't use the correct folder or even add a forward slash at the end (!) then you will get a not very descriptive error: Stderr: error: missing required argument 'factoryId'. If you get this error then make sure to add the treeview step in your pipeline to double check whether the folder is correct. It should point to the folder with publish_config.json file in it. However you will also get this error if you end the path with a forward slash!
################################### # Show treeview of agent ################################### - powershell: | Write-Output "Folder and file treeview of Pipeline_Workspace folder:" tree "$(Pipeline.Workspace)" /F displayName: 'Show treeview of Pipeline_Workspace folder' ################################### # validateDeploy ################################### - task: Synapse workspace deployment@2 inputs: operation: validateDeploy ArtifactsFolder: '$(Pipeline.Workspace)/SynapseArtifact' azureSubscription: DevOps ResourceGroupName: dhwacc TargetWorkspaceName: rg_dwhacc DeleteArtifactsNotInTemplate: true
Conclusion
Double check the artifact folder and don't add a forward slash at the end of it. The forward slash bug(?) occurred in version 2.3.0 (9/2/2022).