我正在使用郵遞員發送AWS S3 RestAPI「獲取存儲桶(版本2)」以獲取存儲桶列表。使用Postman獲取aws存儲桶內容 - 「獲取存儲桶(版本2)」RestAPI
桶的名稱是「test-bucket-1.ahadomain.com」(ahadomain.com是我在aws中命名桶時使用的虛擬不存在的域)。我正在使用的用戶憑證具有完成S3調用的所有權限。我下面頁面上的信息 - http://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html
我使用的端點:https://test-bucket-1.s3.us-east-1.amazonaws.com 我發送以下標題:內容類型,主機,X-AMZ-內容SHA256,X-AMZ-日期,授權
我需要添加「list-type」作爲查詢參數還是作爲標題?如果作爲查詢參數,我該如何在url中聲明它。
我得到如下回應,其中不包含內容的列表,關於桶本身只是信息:
<?xml version="1.0" encoding="UTF-8"?>
<ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>6893100ea2b48696e8ccc3aa17414f4325cf59b574474ad9de0bcb0d139590c9</ID>
<DisplayName>ahmedsmail</DisplayName>
</Owner>
<Buckets>
<Bucket>
<Name>test-bucket-1.ahadomain.com</Name>
<CreationDate>2017-09-06T06:36:15.000Z</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>
任何幫助將不勝感激。
謝謝, 艾哈邁德。
'的https://測試桶1.s3.us - 東 - 1.amazonaws.com'是不正確的。這是別人的桶,而且恰好被禁用......服務正在將您的請求解釋爲請求列出您的存儲桶而不是您的對象。您需要爲您的存儲區域使用其中一個端點:http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region以及路徑中的存儲區名稱。 –
只是好奇,爲什麼/你如何告訴桶被禁用? 在我的AWS控制檯中,美國西部(加利福尼亞州)地區列出了「test-bucket-1.ahadomain.com」存儲桶。對於這種情況,我正在使用以下端點:https://test-bucket-1.s3-us-west-1.amazonaws.com仍然相同,桶上的信息,而不是內容。 :( –
沒錯,我告訴你你的端點是不正確的,你的端點應該是s3-us-west-1.amazonaws.com/test-bucket-1.ahadomain.com?list-type=2或者*整個*桶名稱左側,test-bucket-1.ahadomain.com.s3-us-west-1.amazonaws.com。另一個端點是指一個被稱爲「test-bucket-1」的被禁用的桶,它不是你的桶,它是別人的,它似乎被禁用。你的不是。 –