Hi all, I've been using "duck" in the command line version to communicate with AWS S3, so I know my access and secret keys are good, plus when I ran through "s3cmd --configure" it tested my keys and reported "Success. Your access key and secret key worked fine :-)"
However, when I try to do anything myself, it fails, claiming access denied. I'm wondering if there's something I don't understand about s3 that duck was hiding, or perhaps I'm fundamentally misunderstanding how s3cmd command lines should be formed.
If I try this:
$ s3cmd ls 's3://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'
I get the report:
ERROR: Access to bucket 's3.amazonaws.com' was denied
ERROR: S3 error: 403 (AccessDenied): Access Denied
Notice that a) yes, I changed the group-bucket name, but it's formed with lowercase only and one hyphen. b) there is a space in 'My Name' (this worked fine with duck-cli, but clearly something is different. c) MyDirectory exists and is formed as indicated (upper/lower case, no spaces).
I have tried replacing the single quotes with double, or without them entirely (pretty hopeless, presumably!) and also replacing the space with both a + sign and %20. I couldn't think of anything else to try, however.
by contrast, this duck command (similarly edited to the above :) works fine
Your issue is that you are not supposed to put the "domain name" in your
"s3:// " element but directly the s3 bucket name.
So, for example, in your case, you have to use directly 's3://
group-bucket/My http://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'
instead of 's3://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'.
Hi all, I've been using "duck" in the command line version to communicate
with AWS S3, so I know my access and secret keys are good, plus when I ran
through "s3cmd --configure" it tested my keys and reported "Success. Your
access key and secret key worked fine :-)"
However, when I try to do anything myself, it fails, claiming access
denied. I'm wondering if there's something I don't understand about s3 that
duck was hiding, or perhaps I'm fundamentally misunderstanding how s3cmd
command lines should be formed.
If I try this:
$ s3cmd ls 's3://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'
I get the report:
ERROR: Access to bucket 's3.amazonaws.com' was denied
ERROR: S3 error: 403 (AccessDenied): Access Denied
Notice that a) yes, I changed the group-bucket name, but it's formed with
lowercase only and one hyphen. b) there is a space in 'My Name' (this
worked fine with duck-cli, but clearly something is different. c)
MyDirectory exists and is formed as indicated (upper/lower case, no spaces).
I have tried replacing the single quotes with double, or without them
entirely (pretty hopeless, presumably!) and also replacing the space with
both a + sign and %20. I couldn't think of anything else to try, however.
by contrast, this duck command (similarly edited to the above :) works fine
Hi all, I've been using "duck" in the command line version to communicate with AWS S3, so I know my access and secret keys are good, plus when I ran through "s3cmd --configure" it tested my keys and reported "Success. Your access key and secret key worked fine :-)"
However, when I try to do anything myself, it fails, claiming access denied. I'm wondering if there's something I don't understand about s3 that duck was hiding, or perhaps I'm fundamentally misunderstanding how s3cmd command lines should be formed.
If I try this:
$ s3cmd ls 's3://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'
I get the report:
ERROR: Access to bucket 's3.amazonaws.com' was denied
ERROR: S3 error: 403 (AccessDenied): Access Denied
Notice that a) yes, I changed the group-bucket name, but it's formed with lowercase only and one hyphen. b) there is a space in 'My Name' (this worked fine with duck-cli, but clearly something is different. c) MyDirectory exists and is formed as indicated (upper/lower case, no spaces).
I have tried replacing the single quotes with double, or without them entirely (pretty hopeless, presumably!) and also replacing the space with both a + sign and %20. I couldn't think of anything else to try, however.
by contrast, this duck command (similarly edited to the above :) works fine
duck -u <access_key> -p <secret_key> --list "s3://s3.amazonaws.com/group-bucket/My Name/"</secret_key></access_key>
What might be wrong?
Hi,
Your issue is that you are not supposed to put the "domain name" in your
"s3:// " element but directly the s3 bucket name.
So, for example, in your case, you have to use directly 's3://
group-bucket/My http://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'
instead of 's3://s3.amazonaws.com/group-bucket/My Name/MyDirectory/'.
Florent
On Fri, Oct 30, 2020 at 10:43 PM SimonHGR simonhgr@users.sourceforge.net
wrote: