danielfrg / s3contents

Jupyter Notebooks in S3 - Jupyter Contents Manager implementation
Apache License 2.0
248 stars 88 forks source link

An error occurred (MalformedACLError) when calling the PutObject operation: The XML you provided was not well-formed or did not validate against our published schema. #83

Closed sagarpatel1 closed 3 years ago

sagarpatel1 commented 5 years ago

Recieving the following error when launching Jupyter

$ jupyter lab Traceback (most recent call last): File "/app/360/anaconda3/bin/jupyter-lab", line 11, in sys.exit(main()) File "/app/360/anaconda3/lib/python3.7/site-packages/jupyter_core/application.py", line 266, in launch_instance return super(JupyterApp, cls).launch_instance(argv=argv, *kwargs) File "/app/360/anaconda3/lib/python3.7/site-packages/traitlets/config/application.py", line 657, in launch_instance app.initialize(argv) File "</app/360/anaconda3/lib/python3.7/site-packages/decorator.py:decorator-gen-7>", line 2, in initialize File "/app/360/anaconda3/lib/python3.7/site-packages/traitlets/config/application.py", line 87, in catch_config_error return method(app, args, kwargs) File "/app/360/anaconda3/lib/python3.7/site-packages/notebook/notebookapp.py", line 1628, in initialize self.init_configurables() File "/app/360/anaconda3/lib/python3.7/site-packages/notebook/notebookapp.py", line 1324, in init_configurables log=self.log, File "/app/360/anaconda3/lib/python3.7/site-packages/s3contents/s3manager.py", line 61, in init boto3_session=self.boto3_session) File "/app/360/anaconda3/lib/python3.7/site-packages/s3contents/s3_fs.py", line 94, in init self.init() File "/app/360/anaconda3/lib/python3.7/site-packages/s3contents/s3_fs.py", line 107, in init raise ex File "/app/360/anaconda3/lib/python3.7/site-packages/s3contents/s3_fs.py", line 98, in init self.mkdir("") File "/app/360/anaconda3/lib/python3.7/site-packages/s3contents/s3fs.py", line 185, in mkdir self.fs.touch(path) File "/app/360/anaconda3/lib/python3.7/site-packages/s3fs/core.py", line 1044, in touch Bucket=bucket, Key=key, ACL=acl) File "/app/360/anaconda3/lib/python3.7/site-packages/s3fs/core.py", line 195, in _call_s3 return method(additional_kwargs) File "/app/360/anaconda3/lib/python3.7/site-packages/botocore/client.py", line 357, in _api_call return self._make_api_call(operation_name, kwargs) File "/app/360/anaconda3/lib/python3.7/site-packages/botocore/client.py", line 661, in _make_api_call raise error_class(parsed_response, operation_name) botocore.exceptions.ClientError: An error occurred (MalformedACLError) when calling the PutObject operation: The XML you provided was not well-formed or did not validate against our published schema.

With the following config

c.NotebookApp.contents_manager_class = S3ContentsManager c.S3ContentsManager.access_key_id = "--**-**-" c.S3ContentsManager.secret_access_key = "**" c.S3ContentsManager.endpoint_url = "*****:***" c.S3ContentsManager.bucket = "-*-****-***-" c.S3ContentsManager.prefix = "jupyter"

Any help would be appreciated

milutz commented 5 years ago

If your config is literally what you're using, then that would be invalid syntax for those items for the AWS API.

But even if your "----" & ":" are placeholders for the actual values your using, I would suspect your setting some string in the quotes that isn't valid to AWS - given that error is an XML syntax error, I would specifically guess your introducing some values that act as quoting/delimiters in XML