Javascript S3 GET Bucket(列表对象)格式?

时间:2018-07-06 14:27:13

标签: javascript amazon-web-services http amazon-s3 get

我正尝试从AWS s3获得xml响应,如本文档所述:

https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html

我不确定如何整合这些参数:

GET /?list-type=2 HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Authorization: authorization string

插入标准AJAX代码的“ open”语句,如下所示:

function httpGetAsync(theUrl, callback)
{
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function() { 
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
        callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous 
xmlHttp.send(null);
}

我在想这样的事情:

xmlhttp.open("GET", URL, false);
xmlhttp.setRequestHeader("list-type", "2");
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.setRequestHeader("Date", "00/00/2018");
xmlhttp.setRequestHeader("Authorization", "authorization string");

对如何做到这一点有何见解?

1 个答案:

答案 0 :(得分:0)

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html

这是AWS Javascript SDK的文档。我不确定您要获取的XML是什么,但是您正在寻找的可能在那里。

var params = {
  Bucket: "examplebucket", 
  Key: "HappyFace.jpg"
 };
 s3.getObject(params, function(err, data) {
   if (err) console.log(err, err.stack); // an error occurred
   else     console.log(data);           // successful response
 });