boto3+s3 backend with Wasabi storage buckets

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

boto3+s3 backend with Wasabi storage buckets

duplicity-talk mailing list
Hey peeps,


So I am trying to connect to a wasabi s3 compatible bucket using the
boto3 backend but failing.


The command I use is this.

` AWS_ACCESS_KEY_ID="$Wasabi_access_key"
AWS_SECRET_ACCESS_KEY="$Wasabi_secret_key" duplicity full -v9  
--progress    /home 
"boto3+s3://bucketname.s3.eu-central-1.wasabisys.com/folder"`


but the error I keep getting is this:


    Using temporary directory /tmp/duplicity-z9l3i_y8-tempdir
    Traceback (innermost last):
      File "/usr/bin/duplicity", line 106, in <module>
        with_tempdir(main)
      File "/usr/bin/duplicity", line 92, in with_tempdir
        fn()
      File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line
    1525, in main
        action = commandline.ProcessCommandLine(sys.argv[1:])
      File "/usr/lib/python3/dist-packages/duplicity/commandline.py",
    line 1188, in ProcessCommandLine
        backup, local_pathname = set_backend(args[0], args[1])
      File "/usr/lib/python3/dist-packages/duplicity/commandline.py",
    line 1059, in set_backend
        globals.backend = backend.get_backend(bend)
      File "/usr/lib/python3/dist-packages/duplicity/backend.py", line
    225, in get_backend
        obj = get_backend_object(url_string)
      File "/usr/lib/python3/dist-packages/duplicity/backend.py", line
    211, in get_backend_object
        return factory(pu)
      File
    "/usr/lib/python3/dist-packages/duplicity/backends/s3_boto3_backend.py",
    line 85, in __init__
        self.reset_connection()
      File
    "/usr/lib/python3/dist-packages/duplicity/backends/s3_boto3_backend.py",
    line 96, in reset_connection
        self.s3.meta.client.head_bucket(Bucket=self.bucket_name)
      File "/usr/lib/python3/dist-packages/botocore/client.py", line
    316, in _api_call
        return self._make_api_call(operation_name, kwargs)
      File "/usr/lib/python3/dist-packages/botocore/client.py", line
    635, in _make_api_call
        raise error_class(parsed_response, operation_name)
     botocore.exceptions.ClientError: An error occurred (403) when
    calling the HeadBucket operation: Forbidden



For reference, using the same credentials and command just replacing the
backend with s3://user:[hidden email]/folder works
fine. But obviously boto2 is deprecated and I should be using boto3.

I am kinda new to this s3 storage paradigm so I am not sure if the error
is my url as given or the servers side. I know Wasabi do support boto3
it is listed here:


https://wasabi-support.zendesk.com/hc/en-us/articles/115002579891-How-do-I-use-the-AWS-SDK-for-Python-boto3-with-Wasabi-



So it should just work shouldn't it?

Any assistance is greatly appreciated 


Don.



_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk
Reply | Threaded
Open this post in threaded view
|

Re: boto3+s3 backend with Wasabi storage buckets

duplicity-talk mailing list
On 8/26/2020 3:37 PM, devel--- via Duplicity-talk wrote:

> Hey peeps,
>
>
> So I am trying to connect to a wasabi s3 compatible bucket using the
> boto3 backend but failing.
>
>
> The command I use is this.
>
> ` AWS_ACCESS_KEY_ID="$Wasabi_access_key"
> AWS_SECRET_ACCESS_KEY="$Wasabi_secret_key" duplicity full -v9  
> --progress    /home 
> "boto3+s3://bucketname.s3.eu-central-1.wasabisys.com/folder"`
>
>
> but the error I keep getting is this:
>
>
>     Using temporary directory /tmp/duplicity-z9l3i_y8-tempdir
>     Traceback (innermost last):
>       File "/usr/bin/duplicity", line 106, in <module>
>         with_tempdir(main)
>       File "/usr/bin/duplicity", line 92, in with_tempdir
>         fn()
>       File "/usr/lib/python3/dist-packages/duplicity/dup_main.py", line
>     1525, in main
>         action = commandline.ProcessCommandLine(sys.argv[1:])
>       File "/usr/lib/python3/dist-packages/duplicity/commandline.py",
>     line 1188, in ProcessCommandLine
>         backup, local_pathname = set_backend(args[0], args[1])
>       File "/usr/lib/python3/dist-packages/duplicity/commandline.py",
>     line 1059, in set_backend
>         globals.backend = backend.get_backend(bend)
>       File "/usr/lib/python3/dist-packages/duplicity/backend.py", line
>     225, in get_backend
>         obj = get_backend_object(url_string)
>       File "/usr/lib/python3/dist-packages/duplicity/backend.py", line
>     211, in get_backend_object
>         return factory(pu)
>       File
>     "/usr/lib/python3/dist-packages/duplicity/backends/s3_boto3_backend.py",
>     line 85, in __init__
>         self.reset_connection()
>       File
>     "/usr/lib/python3/dist-packages/duplicity/backends/s3_boto3_backend.py",
>     line 96, in reset_connection
>         self.s3.meta.client.head_bucket(Bucket=self.bucket_name)
>       File "/usr/lib/python3/dist-packages/botocore/client.py", line
>     316, in _api_call
>         return self._make_api_call(operation_name, kwargs)
>       File "/usr/lib/python3/dist-packages/botocore/client.py", line
>     635, in _make_api_call
>         raise error_class(parsed_response, operation_name)
>      botocore.exceptions.ClientError: An error occurred (403) when
>     calling the HeadBucket operation: Forbidden
>
>
>
> For reference, using the same credentials and command just replacing the
> backend with s3://user:[hidden email]/folder works
> fine. But obviously boto2 is deprecated and I should be using boto3.
>
> I am kinda new to this s3 storage paradigm so I am not sure if the error
> is my url as given or the servers side. I know Wasabi do support boto3
> it is listed here:
>
>
> https://wasabi-support.zendesk.com/hc/en-us/articles/115002579891-How-do-I-use-the-AWS-SDK-for-Python-boto3-with-Wasabi-
>
>
>
> So it should just work shouldn't it?
>
> Any assistance is greatly appreciated 

hey Don peep :)

boto3+s3:// backend is currently only able to access amazon services afaik. until it is modified for 3rd party s3 instances you will probably have to stick with boto2. that's btw. the reason boto3+s3:// wasn't made default instantly.

..ede/duply.net


_______________________________________________
Duplicity-talk mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/duplicity-talk