开发者

Unable to create s3 bucket in EU region

开发者 https://www.devze.com 2023-02-05 05:57 出处:网络
body = \"<CreateBucketCon开发者_StackOverflow社区figuration><LocationConstraint>EU</LocationConstraint></CreateBucketConfiguration>\"
body = "<CreateBucketCon开发者_StackOverflow社区figuration><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

returns 200 and creates bucket but in U.S Standard and not in EU. What am I missing here? Thanks for the help.


Here is the entire conversation

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


The only thing that I can see is that you haven't included the xmlns in the request body - not sure if that will make any difference though.

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

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号