Невозможно создать ведро s3 в регионе ЕС - PullRequest
0 голосов
/ 19 января 2011
body = "<CreateBucketConfiguration><LocationConstraint>EU</LocationConstraint></CreateBucketConfiguration>"

        content_length = body.bytesize
        content_type = "text/plain"

        url = URI.parse("http://#{@name}.s3.amazonaws.com/")

        req = Net::HTTP::Put.new(url.path)
        req.body = body
        req.add_field 'Date' , @time
        req.add_field 'Host', "#{@name}.s3.amazonaws.com"
        req.add_field 'Content-Type', "#{content_type}"
        req.add_field 'Authorization', "#{signature}"
        req.add_field 'Content-Length', "#{content_length}"

        response = Net::HTTP.new(url.host, url.port).start do |http|
          http.request(req)
        end

        puts response.read_body

возвращает 200 и создает сегмент, но в стандарте США, а не в ЕС. Что мне здесь не хватает? Спасибо за помощь.


Вот весь разговор

PUT / HTTP/1.1    
Accept: */*    
User-Agent: Ruby    
Date: Wed, 19 Jan 2011 22:14:31 -0800    
Host: mytest.s3.amazonaws.com    
Content-Type: text/plain    
Authorization: AWS AC8RVKAXAU8Q:41uTqvfncc2mE561YabgpGUouio=    

Content-Length: 146  

<CreateBucketConfiguration xmlns='http://s3.amazonaws.com/doc/2006-03-01/'>
    <LocationConstraint>EU</LocationConstraint>
</CreateBucketConfiguration>

HTTP/1.1 200 OK    
x-amz-id-2: lrlPt8Y19ZxFXPbZf9Gf6dYxTGLYkkMzo0tSNXCNk29o9xghcob502mcttQ/oo4W    
x-amz-request-id: 3504CCA0E7AFFE95    
Date: Thu, 20 Jan 2011 06:14:32 GMT    
Location: /mytest    
Content-Length: 0    
Server: AmazonS3   

HTTP/1.1 400 Bad Request    
Transfer-Encoding: chunked    
Date: Thu, 20 Jan 2011 06:14:32 GMT    
Connection: close    
Server: AmazonS3  

0

1 Ответ

0 голосов
/ 19 января 2011

Единственное, что я вижу, это то, что вы не включили xmlns в тело запроса - не уверен, будет ли это иметь какое-то значение.

xmlns="http://s3.amazonaws.com/doc/2006-03-01/"

body = "<CreateBucketConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><LocationConstraint>EU</LocationConstraint></CreateBucketConfiguration>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...