Trong dự án Node.js tôi đang cố gắng lấy lại dữ liệu từ S3.Cách nhận phản hồi từ S3 getObject trong Node.js?
Khi tôi sử dụng getSignedURL
, mọi thứ hoạt động:
aws.getSignedUrl('getObject', params, function(err, url){
console.log(url);
});
params của tôi là:
var params = {
Bucket: "test-aws-imagery",
Key: "TILES/Level4/A3_B3_C2/A5_B67_C59_Tiles.par"
Nhược bằng tôi lấy ra URL để giao diện điều khiển và dán nó vào trình duyệt web, nó tải về các tôi cần.
Tuy nhiên, nếu tôi cố gắng sử dụng getObject
Tôi nhận được tất cả các loại hành vi lạ. Tôi tin rằng tôi chỉ sử dụng nó không chính xác. Đây là những gì tôi đã cố gắng:
aws.getObject(params, function(err, data){
console.log(data);
console.log(err);
});
Đầu ra:
{
AcceptRanges: 'bytes',
LastModified: 'Wed, 06 Apr 2016 20:04:02 GMT',
ContentLength: '1602862',
ETag: '9826l1e5725fbd52l88ge3f5v0c123a4"',
ContentType: 'application/octet-stream',
Metadata: {},
Body: <Buffer 01 00 00 00 ... > }
null
Vì vậy, nó xuất hiện rằng đây là hoạt động bình thường. Tuy nhiên, khi tôi đặt điểm ngắt trên một trong số console.log
s, IDE (NetBeans) của tôi ném lỗi và từ chối hiển thị giá trị của dữ liệu. Trong khi điều này chỉ có thể là IDE, tôi quyết định thử các cách khác để sử dụng getObject
.
aws.getObject(params).on('httpData', function(chunk){
console.log(chunk);
}).on('httpDone', function(data){
console.log(data);
});
Điều này không xuất ra bất cứ điều gì. Đặt điểm ngắt trong các chương trình cho biết mã không bao giờ đạt đến một trong số console.log
giây. Tôi cũng đã thử:
aws.getObject(params).on('success', function(data){
console.log(data);
});
Tuy nhiên, điều này cũng không xuất ra bất cứ điều gì và đặt điểm ngắt cho biết không bao giờ đạt được console.log
.
Tôi đang làm gì sai?
Đối tượng 'aws' của bạn có thực sự là một đối tượng mới của đối tượng' aws.S3' không? Ngoài ra, phản hồi từ 'getObject()' có được trả về một câu trả lời http hay là nó đang được dẫn tới một tệp không? – peteb
@peteb 'aws = AWS.S3 mới()'. Phản hồi không nên được gửi đến một tệp. Tôi cần phải sử dụng nó trong Javascript –
Vì vậy, nó là an toàn để giả định rằng các nội dung là JSON hoặc XML? – peteb