Permission error when deploying a Lambda from a zip file in S3 - [Errno 13] Permission denied

Today I received the following error when trying to deploy from Azure DevOps a lambda to AWS via a zip file in S3:

[ERROR] PermissionError: [Errno 13] Permission denied: '/var/task/inspector.py'
Traceback (most recent call last):
  File "/var/lang/lib/python3.7/imp.py", line 300, in find_module
    with open(file_path, 'rb') as file:

I was compressing the inspector.py using the Compress-Archive powershell function:

- task: PowerShell@2
    displayName: zip lambda
    inputs:
      targetType: inline
      script: Compress-Archive -Path inspector.py -DestinationPath inspector.zip
      errorActionPreference: 'stop'

The issues is that the powershell command Compress-Archive, doesn’t archive the files with the correct persmissions and there’s no easy override. The solution I used was to use python, its simple and by default sets the correct permissions:

- task: PythonScript@0
    displayName: zip inspector.py
    inputs:
      scriptSource: inline
      script: |
        from zipfile import ZipFile
        with ZipFile('inspector.zip', 'w') as zf:
          zf.write('inspector.py')

References:
https://stackoverflow.com/questions/46076543/permission-denied-after-uploading-aws-lambda-python-zip-from-s3

Updated: