2020-05-01 14:50:28 +01:00
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2019-01-14 14:47:06 -08:00
// SPDX-License-Identifier: Apache-2.0
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
// snippet-start:[s3.javascript.bucket_operations.list_create_delete]
2020-05-07 13:05:50 +01:00
2019-01-14 14:47:06 -08:00
if ( process . argv . length < 4 ) {
console . log (
"Usage: node s3.js <the bucket name> <the AWS Region to use>\n" +
"Example: node s3.js my-test-bucket us-east-2"
) ;
process . exit ( 1 ) ;
}
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
var AWS = require ( "aws-sdk" ) ; // To set the AWS credentials and region.
var async = require ( "async" ) ; // To call AWS operations asynchronously.
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
AWS . config . update ( {
region : region ,
2024-01-16 10:41:11 -05:00
} ) ;
2019-01-14 14:47:06 -08:00
var s3 = new AWS . S3 ( { apiVersion : "2006-03-01" } ) ;
var bucket _name = process . argv [ 2 ] ;
var region = process . argv [ 3 ] ;
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
var create _bucket _params = {
Bucket : bucket _name ,
CreateBucketConfiguration : {
LocationConstraint : region ,
2024-01-16 10:41:11 -05:00
} ,
} ;
2019-01-14 14:47:06 -08:00
var delete _bucket _params = { Bucket : bucket _name } ;
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
// List all of your available buckets in this AWS Region.
function listMyBuckets ( callback ) {
s3 . listBuckets ( function ( err , data ) {
if ( err ) {
2024-01-16 10:41:11 -05:00
} else {
2019-01-14 14:47:06 -08:00
console . log ( "My buckets now are:\n" ) ;
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
for ( var i = 0 ; i < data . Buckets . length ; i ++ ) {
console . log ( data . Buckets [ i ] . Name ) ;
2024-01-16 10:41:11 -05:00
}
}
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
callback ( err ) ;
} ) ;
2024-01-16 10:41:11 -05:00
}
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
// Create a bucket in this AWS Region.
function createMyBucket ( callback ) {
console . log ( "\nCreating a bucket named " + bucket _name + "...\n" ) ;
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
s3 . createBucket ( create _bucket _params , function ( err , data ) {
if ( err ) {
console . log ( err . code + ": " + err . message ) ;
}
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
callback ( err ) ;
} ) ;
}
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
// Delete the bucket you just created.
function deleteMyBucket ( callback ) {
console . log ( "\nDeleting the bucket named " + bucket _name + "...\n" ) ;
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
s3 . deleteBucket ( delete _bucket _params , function ( err , data ) {
if ( err ) {
console . log ( err . code + ": " + err . message ) ;
}
2020-05-01 14:46:54 +01:00
2019-01-14 14:47:06 -08:00
callback ( err ) ;
} ) ;
}
2024-01-16 10:41:11 -05:00
2019-01-14 14:47:06 -08:00
// Call the AWS operations in the following order.
async . series ( [
listMyBuckets ,
createMyBucket ,
listMyBuckets ,
deleteMyBucket ,
listMyBuckets ,
] ) ;
2020-05-01 14:46:54 +01:00
// snippet-end:[s3.javascript.bucket_operations.list_create_delete]