Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A client error (PermanentRedirect) occurred when calling the ListObjects operation #564

Closed
9735194 opened this issue Dec 18, 2013 · 11 comments
Labels
feature-request A feature should be added or improved. s3

Comments

@9735194
Copy link

9735194 commented Dec 18, 2013

ubuntu@ip-10-166-225-37:~$ aws --version
aws-cli/1.2.8 Python/2.7.5+ Linux/3.11.0-12-generic

ubuntu@ip-10-166-225-37:~$ aws --region us-west-1 s3 sync s3://UtilityStorage/builds/dev /tmp/build
A client error (PermanentRedirect) occurred when calling the ListObjects operation: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
Completed 1 part(s) with ... file(s) remaining

@jessereynolds
Copy link

I get this when accessing a different region from the one I used when I created the s3 bucket.

@stefanw
Copy link

stefanw commented Feb 17, 2014

A nicer error message would indeed be appreciated.

@vors
Copy link

vors commented Apr 18, 2014

Same problem. Thank you, @jessereynolds, for clarification!

@eterps
Copy link

eterps commented Apr 27, 2014

How does this work, do I understand correctly that an S3 URI is not unique but dependend on the region parameter?

@tylercollier
Copy link

I didn't realize my data had a region on it. When I'm using the web console, where it normally shows my region in the top right, it instead shows "Global", and when I click the dropdown it says "S3 does not require region selection." So I didn't realize my data DOES have regions. I found it by viewing the file/dir properties S3. Specifying the region as @jessereynolds suggested fixes it right up. Thanks for that clarification.

I agree with @srivest that a nicer error message would help. When I used --debug, it actually had <Endpoint>[the bucket I was using].s3.amazonaws.com</Endpoint>, which only served to confuse me further, because what I should have been using was correct: s3://[the bucket I was using]/[my path].

@bacoboy
Copy link

bacoboy commented Oct 31, 2014

Surprised this is still open...

I stumbled on this using aws-cli with the us-east-1 region. s3 commands to buckets in this region fail unless you explicitly specify the region. If you run: aws s3api get-bucket-region --bucket NAME, it'll return null for us-east-1 but not for others. For instance my us-east-1 bucket says:

{
    "LocationConstraint": null
}

but my Singapore bucket says:

{
    "LocationConstraint": "ap-southeast-1"
}

This seems to be the cause of the error as aws-cli seems to depend on this location resolving to something.

Clearly, I can just specify the --region=us-east-1 option to my commands as a work around, but if the s3 namespace is supposed to be global, my having to tell AWS where it is seems strange -- don't they know?

@jamesls
Copy link
Member

jamesls commented Jan 16, 2015

This has been fixed, but it looks like the commit was not linked with this issue. You now get a better error message:

$ aws s3 ls s3://my.bucket/

A client error (PermanentRedirect) occurred when calling the ListObjects operation: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint: my.bucket.s3-ap-southeast-2.amazonaws.com
You can fix this issue by explicitly providing the correct region location using the --region argument, the AWS_DEFAULT_REGION environment variable, or the region variable in the AWS CLI configuration file.  You can get the bucket's location by running "aws s3api get-bucket-location --bucket BUCKET".

@jamesls jamesls closed this as completed Jan 16, 2015
@ghost
Copy link

ghost commented Mar 16, 2015

I also get the location constraint : null.
This is a still a bug, I just went with us-east-1 and it worked, but if it is a us-standard bucket it seems like there should be an option for --region us-standard
Or something similar, no?

@kyleknap
Copy link
Contributor

@Xurume

For buckets located in US Standard, the location constraint will be null. For S3, here is the list of region names with their corresponding regions: http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region. Notice that the location constraint is none for US Standard.

The CLI uses the values in the region column for the --region parameter. So for S3's US Standard, you need to use us-east-1 as the region.

@ghost
Copy link

ghost commented Mar 16, 2015

Undesrtood, thank you!

@zhangruichang
Copy link

get error when
aws s3 ls s3://path

how to resolve it ?

thoward-godaddy pushed a commit to thoward-godaddy/aws-cli that referenced this issue Feb 12, 2022
thoward-godaddy pushed a commit to thoward-godaddy/aws-cli that referenced this issue Feb 12, 2022
* fix: Functional tests must run on localhost to work in Windows (aws#552)

* fix: spacing typo in Log statement in start-lambda (aws#559)

* docs: Fix syntax highlighting in README.md (aws#561)

* docs: Change jest to mocha in Nodejs init README (aws#564)

* docs: Fix @mhart link in README (aws#562)

* docs(README): removed cloudtrail, added SNS to generate-event (aws#569)

* docs: Update repo name references (aws#577)

* feat(debugging): Fixing issues around debugging Golang functions. (aws#565)

* fix(init): Improve current init samples around docs and fixes (aws#558)

* docs(README): Update launch config to SAM CLI from SAM Local (aws#587)

* docs(README): Update sample code for calling Local Lambda Invoke (aws#584)

* refactor(init): renamed handler for camel case, moved callback call up (aws#586)

* chore: aws-lambda-java-core 1.1.0 -> 1.2.0 for java sam init (aws#578)

* feat(validate): Add profile and region options (aws#582)

Currently, `sam validate` requires AWS Creds (due to the SAM Translator).
This commits adds the ability to pass in the credientials through a profile
that is configured through `aws configure`.

* docs(README): Update README prerequisites to include awscli (aws#596)

* fix(start-lambda): Remove Content-Type Header check (aws#594)

* docs: Disambiguation "Amazon Kinesis" (aws#599)

* docs: Adding instructions for how to add pyenv to your PATH for Windows (aws#600)

* docs: Update README with small grammar fix (aws#601)

* fix: Update link in NodeJS package.json (aws#603)

* docs: Creating instructions for Windows users to install sam (aws#605)

* docs: Adding a note directing Windows users to use pipenv (aws#606)

* fix: Fix stringifying λ environment variables when using Python2 (aws#579)

* feat(generate-event): Added support for 50+ events (aws#612)

* feat(invoke): Add region parameter to all invoke related commands (aws#608)

* docs: Breaking up README into separate files to make it easier to read (aws#607)

* chore: Update JVM size params to match docker-lambda (aws#615)

* feat(invoke): Invoke Function Without Parameters through --no-event (aws#604)

* docs: Update advanced_usage.rst with clarification on --env-vars usage (aws#610)

* docs: Remove an extra word in the sam packaging command (aws#618)

* UX: Improves event names to reflect Lambda Event Sources (aws#619)

* docs: Fix git clone typo in installation docs (aws#630)

* docs(README): Callout go1.x runtime support (aws#631)

* docs(installation): Update sam --version command (aws#634)

* chore(0.6.0): SAM CLI Version bump (aws#635)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request A feature should be added or improved. s3
Projects
None yet
Development

No branches or pull requests

10 participants