Petabox
  • Introduction
  • Petabox FAQ
  • Concepts
    • Bucket versioning
    • Logging actions with a bucket
    • Object Lock
  • Tools
    • Supported tools
      • CyberDuck S3 Client
      • Mountain Duck
      • S3 Browser
      • RClone
      • AWS CLI Console client
      • SDKs for different languages
        • JavaScript SDK
        • AWS SDK for Java
        • Python SDK (boto)
  • S3 Compatible API
    • How to use the API
    • Signing Requests
    • API Reference
      • Bucket
        • HeadBucket
        • ListObjects/ListObjectsV2
        • PutBucketVersioning
        • PutBucketLogging
        • ListBuckets
        • RenameBucket
        • GetBucketLocation
      • Object
        • PutObject
        • GetObject
        • HeadObject
        • RenameObject
        • PutObjectAcl
      • Multipart upload
        • General multipart upload order
        • CreateMultipartUpload
        • UploadPart
        • CompleteMultipartUpload
        • ListMultipartUploads
      • Analytics
        • GetStatistics
        • GetBandwidthAnalytics
        • GetStorageAnalytics
      • Common request headers
      • Common response headers
      • Responses
      • GetObjectTagging
      • GetObjectAcl
      • GetBucketAcl
      • ListObjectVersions
      • GetBucketRequestPayment
      • GetBucketReplication
      • GetBucketTagging
      • GetBucketLocation
      • GetBucketVersioning
      • GetBucketLifecycle
      • GetObjectLockConfiguration
      • PutObjectLockConfiguration
      • GetObjectRetention
      • GetObjectLegalHold
      • PutObjectRetention
      • PutObjectLegalHold
      • PutObjectAcl
      • PutBucketAcl
      • PutBucketVersioning
      • CopyObject
      • DeleteObjects
      • AbortMultipartUpload
      • DeleteObject
      • DeleteBucket
      • PutBucketTagging
      • PutObjectTagging
      • DeleteBucketTagging
      • DeleteObjectTagging
      • PutBucketLogging
      • GetBucketLogging
      • ListParts
      • UploadPartCopy
      • PutBucketPolicy
      • GetBucketPolicy
      • DeleteBucketPolicy
Powered by GitBook
On this page
  • List buckets
  • List objects
  • Get files metadata
  • Edit objects metadata
  • Make object private or public
  • Delete an object
  1. Tools
  2. Supported tools
  3. SDKs for different languages

JavaScript SDK

List buckets

await s3.listBuckets().promise();

List objects

List objects in root folder

await s3.listObjectsV2({
    Bucket: 'BUCKET',
    Delimeter: '/',
}).promise();

List objects in the folder

await s3.listObjectsV2({
    Bucket: 'BUCKET',
    Delimeter: '/',
    Prefix: 'my-folder'
}).promise();

Get files metadata

const result = await s3.headObject({
    Bucket: 'BUCKET',
    Key: 'folder/file-name.txt',
}).promise();

/*
{
    Metadata: {key: 'value'},
    ContentLength: 123,
    ETag: '...',
    ...
}
*/

Edit objects metadata

Note that you can not change values of these metadatas: file-hash, storage,location. When you set MetadataDirective: 'REPLACE' any existing metadatas will be overridden. So if you want to edit only some of metadatas then include existing metadatas too.

await s3.copyObject({
  Bucket: 'BUCKET',
  Key: 'file.txt',
  CopySource: 'BUCKET/file.txt',
  Metadata: {
    'key': 'value',
    'key2': 'value2'
  },
  MetadataDirective: 'REPLACE'
}).promise()

Make object private or public

await s3.putObjectAcl({
  Bucket: 'BUCKET',
  Key: 'folder/file-name.txt',
  ACL: 'public-read',
}).promise()

await s3.putObjectAcl({
  Bucket: 'BUCKET',
  Key: 'folder/file-name.txt',
  ACL: 'private'
}).promise()

Delete an object

await s3.deleteObject({
  Bucket: 'BUCKET',
  Key: 'folder/file-name.txt',
}).promise();

PreviousSDKs for different languagesNextAWS SDK for Java

Last updated 3 years ago