Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用aws sdk从s3获取对象并在本地存储_Amazon Web Services_Amazon S3 - Fatal编程技术网

Amazon web services 使用aws sdk从s3获取对象并在本地存储

Amazon web services 使用aws sdk从s3获取对象并在本地存储,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,调用getObject时,似乎找不到指定对象位置的位置 基本上,尝试从s3获取一个对象并下载它。我能够获得没有问题的对象,但它不会下载它。我是不是错过了一个情人 // Load the SDK and UUID var AWS = require('aws-sdk'); var uuid = require('node-uuid'); // Create an S3 client var s3 = new AWS.S3(); var params = { Bucket: "my-artifa

调用getObject时,似乎找不到指定对象位置的位置

基本上,尝试从s3获取一个对象并下载它。我能够获得没有问题的对象,但它不会下载它。我是不是错过了一个情人

// Load the SDK and UUID
var AWS = require('aws-sdk');
var uuid = require('node-uuid');

// Create an S3 client
var s3 = new AWS.S3();

var params = {
Bucket: "my-artifacts",
Key: "artifact.jar"
};
s3.getObject(params, function(err, data) {
if (err) console.log(err, err.stack); // an error occurred
else     console.log(data);           // successful response
});
我得到的答复是:

{ AcceptRanges: 'bytes',
LastModified: 2017-08-09T14:31:32.000Z,
ContentLength: 19442174,
ETag: '"0df85e32d56c37be82c99150824ca956-3"',
VersionId: 'xQBKHSPWAdd_JXzLOWv0AEixv4hSRDKK',
ContentType: 'application/java-archive',
Metadata: {},
Body: <Buffer 50 4b 03 04 14 00 08 08 08 00 ec 73 09 4b 00 00 00 00 00 
00 00 00 00 00 00 00 09 00 04 00 4d 45 54 41 2d 49 4e 46 2f fe ca 00 00 
03 00 50 4b 07 08 00 ... > }
{AcceptRanges:'bytes',
最后修改:2017-08-09T14:31:32.000Z,
内容长度:19442174,
ETag:“0df85e32d56c37be82c99150824ca956-3”,
版本ID:'xQBKHSPWAdd_JXzLOWv0AEixv4hSRDKK',
ContentType:'应用程序/java存档',
元数据:{},
正文:}

因此,看起来它是通过使用流的节点烘焙而成的,这似乎比我找到的其他答案简单得多:

// Load the SDK
var AWS = require('aws-sdk');
var fs = require('fs');

var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {
Bucket: "your-bucket",
Key: "your/dir/location/for/object.war",
};
var file = require('fs').createWriteStream('yourlocaldirectory/object.war');
s3.getObject(params).createReadStream().pipe(file);
可在此处找到:


使用node v8.1.3

看起来像是与使用流的node结合在一起的,这似乎比我找到的其他答案简单得多:

// Load the SDK
var AWS = require('aws-sdk');
var fs = require('fs');

var s3 = new AWS.S3({apiVersion: '2006-03-01'});
var params = {
Bucket: "your-bucket",
Key: "your/dir/location/for/object.war",
};
var file = require('fs').createWriteStream('yourlocaldirectory/object.war');
s3.getObject(params).createReadStream().pipe(file);
可在此处找到:


使用节点v8.1.3

查看中的已接受答案-您有数据,只需保存身体反应。Yeah看到的可能重复,但看起来有点复杂。我想知道是否有像为Ruby指定目标这样简单的事情:理论上,它已经获得了对象,我们应该能够指定放置对象的位置。我会读更多的。也许我忽略了什么。在中看到公认的答案-你有数据,你只需要保存身体的反应。可能是重复的是,看到这些,但它似乎有点复杂。我想知道是否有像为Ruby指定目标这样简单的事情:理论上,它已经获得了对象,我们应该能够指定放置对象的位置。我会读更多的。也许我忽略了什么。