Symptoms
When I develop a function on an on-premises machine that runs the Windows or macOS operating system, the executable file is normally executed in on-premises testing. However, when I deploy the function to Function Compute and execute the executable file in a runtime environment in Function Compute, the permission denied error message is returned.
Causes
You need to package code when you develop the function. When some compression tools compress a file in the Windows or macOS operating system, the attributes of the file or folder may be lost. The file is no longer executable because the attributes of the file or folder have been lost. When the code is extracted, deployed, and then run in a Linux runtime environment in Function Compute, the permission denied error message is returned.
Solutions
- Run the
chmod +x File namecommand to grant the permissions on the file in the Linux runtime environment in Function Compute. - Develop functions on an on-premises machine that runs the Linux operating system.