Problème dans l'accès à un seau de ma AWS S3 compte
J'ai essayé d'établir la connexion à mon compte aws s3 comme ça dans mon cisr console -
AWS::S3::Base.establish_connection!(:access_key_id => 'my access key', :secret_access_key => 'my secret key', :server => "s3-ap-southeast-1.amazonaws.com")
Et il fonctionne bien et invite ce -
=> #<AWS::S3::Connection:0x8cd86d0 @options={:server=>"s3-ap-southeast-1.amazonaws.com", :port=>80, :access_key_id=>"my access key", :secret_access_key=>"my secret key"}, @access_key_id="my access key", @secret_access_key="my secret key", @http=#<Net::HTTP s3-ap-southeast-1.amazonaws.com:80 open=false>>
J'ai un seau qui est basé sur la "Région de Singapour" et pour que le point de terminaison du serveur est: s3-ap-southeast-1.amazonaws.com Donc, lorsque j'essaie d'accéder à l'aide de cette commande
AWS::S3::Service.buckets
il extrait tous les seaux dans mon compte correctement -
=> [#<AWS::S3::Bucket:0x8d291fc @attributes={"name"=>"bucket1", "creation_date"=>2011-06-28 10:08:58 UTC}, @object_cache=[]>,
#<AWS::S3::Bucket:0x8d291c0 @attributes={"name"=>"bucket2", "creation_date"=>2011-07-04 07:15:21 UTC}, @object_cache=[]>,
#<AWS::S3::Bucket:0x8d29184 @attributes={"name"=>"bucket3", "creation_date"=>2011-07-04 07:39:21 UTC}, @object_cache=[]>]
où, comme bucket1 appartient à la Région de Singapour et d'autres de 2 à Région des etats-unis. Donc, quand je fais ceci -
AWS::S3::Bucket.find("bucket1")
il m'indique cette erreur:
AWS::S3::PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/error.rb:38:in `raise'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:72:in `request'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/base.rb:88:in `get'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:102:in `find'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:145:in `objects'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:313:in `reload!'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:242:in `objects'
from /home/surya/.rvm/gems/ruby-1.9.2-p180/gems/aws-s3-0.6.2/lib/aws/s3/bucket.rb:253:in `each'
from (irb):5
from /home/surya/.rvm/rubies/ruby-1.9.2-p180/bin/irb:16:in `<main>'
Je ne comprends pas la raison pour laquelle cela se passe en cause hier, même chose qui fonctionne bien. Tout deviner?? ai-je raté quelque chose??
- Vous vous connectez à la mauvaise S3 nom DNS. Vous ne pouvez pas accéder à seaux de la mauvaise région.
- Gronim Alors ce qui doit être le DNS possible d'utiliser?
- bucket_name.s3.amazonaws.com
Vous devez vous connecter pour publier un commentaire.
Avant de vous connecter, essayez d'utiliser
Une autre chose que vous pouvez faire (même si ce n'est pas vraiment une bonne solution) est l'accès le seau avec de l'index de tableau
Si quelqu'un est de porter le problème lorsque vous essayez de faire de régions différentes pour différentes plates-formes, vous pouvez configurer votre config comme ceci:
Ici, j'ai rencontré ce problème aussi. Depuis que je vis au Brésil, j'ai essayé de créer un sao paulo seau, après je l'ai supprimé et utilisé un NOUS Standart seau tout allait se terminer bien.
région aws doit être mis à nous-standard pour accéder à S3.
Dans le cas de Linux en ligne de commande, exécutez :
export AWS_DEFAULT_REGION="us-standard"
.