Node.js SDK
AWS SDK for JavaScript omogućava jednostavnu integraciju HostArena S3 Storage servisa u Node.js aplikacije. Možete upravljati Bucket-ima i objektima koristeći Amazon S3 kompatibilan API.
Šta je potrebno?
Pripremite sledeće podatke iz korisničkog panela:
-
Endpoint
-
Access Key
-
Secret Key
-
Naziv Bucket-a
Primer:
| Polje | Primer |
|---|---|
| Endpoint | https://username.s3.hostarena.rs |
| Bucket | username |
| Access Key | Dostupan u panelu |
| Secret Key | Dostupan u panelu |
Instalacija
Instalirajte AWS SDK:
npm install @aws-sdk/client-s3
Povezivanje
const { S3Client } = require("@aws-sdk/client-s3");
const s3 = new S3Client({
endpoint: "https://username.s3.hostarena.rs",
region: "us-east-1",
forcePathStyle: false,
credentials: {
accessKeyId: "YOUR_ACCESS_KEY",
secretAccessKey: "YOUR_SECRET_KEY",
},
});
Prikaz Bucket-a
const { ListBucketsCommand } = require("@aws-sdk/client-s3");
const buckets = await s3.send(new ListBucketsCommand({}));
console.log(buckets.Buckets);
Prikaz sadržaja Bucket-a
const { ListObjectsV2Command } = require("@aws-sdk/client-s3");
const objects = await s3.send(
new ListObjectsV2Command({
Bucket: "username",
})
);
console.log(objects.Contents);
Upload fajla
const fs = require("fs");
const { PutObjectCommand } = require("@aws-sdk/client-s3");
await s3.send(
new PutObjectCommand({
Bucket: "username",
Key: "backup.zip",
Body: fs.createReadStream("backup.zip"),
})
);
Upload teksta
await s3.send(
new PutObjectCommand({
Bucket: "username",
Key: "hello.txt",
Body: "Hello from HostArena!",
})
);
Preuzimanje fajla
const { GetObjectCommand } = require("@aws-sdk/client-s3");
const response = await s3.send(
new GetObjectCommand({
Bucket: "username",
Key: "backup.zip",
})
);
Brisanje fajla
const { DeleteObjectCommand } = require("@aws-sdk/client-s3");
await s3.send(
new DeleteObjectCommand({
Bucket: "username",
Key: "backup.zip",
})
);
Najčešći problemi
InvalidAccessKeyId
Proverite Access Key.
SignatureDoesNotMatch
Proverite Secret Key i Endpoint.
NoSuchBucket
Proverite naziv Bucket-a.
Could not connect
Proverite da li koristite:
https://username.s3.hostarena.rs
