john pfeiffer
  • Home
  • Categories
  • Tags
  • Archives

s3 jets3t bucket create upload file

//2012-05-30 johnpfeiffer  requires jets3t-0.9.0 , Apache: log4j-1.2.16 , commons-codec-1.4 , commons-logging-1.1.1, httpclient, httpcore
// http://jets3t.s3.amazonaws.com/api/org/jets3t/service/impl/rest/httpclient/RestS3Service.html
// http://jets3t.s3.amazonaws.com/api/org/jets3t/service/Jets3tProperties.html

import java.io.File;
import org.apache.log4j.ConsoleAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;
import org.jets3t.service.Jets3tProperties;
import org.jets3t.service.S3ServiceException;
import org.jets3t.service.ServiceException;
import org.jets3t.service.impl.rest.httpclient.RestS3Service;
import org.jets3t.service.model.S3Bucket;
import org.jets3t.service.model.S3Object;
import org.jets3t.service.security.AWSCredentials;
import org.jets3t.service.security.ProviderCredentials;

public class Main
{
    static Logger rootLogger = Logger.getRootLogger();

  public static void main(String[] args)
  {
    if( !rootLogger.getAllAppenders().hasMoreElements() )
        {       rootLogger.setLevel( Level.INFO );
                rootLogger.addAppender( new ConsoleAppender(  new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN )  ) );
        }

    Jets3tProperties jets3tProperties = new Jets3tProperties ();

 // Gemini
    String awsAccessKey = "accesskey";
    String awsSecretKey = "secretkey";
    jets3tProperties.setProperty( "s3service.s3-endpoint" , "s3.gemini-technologies.com" );
    jets3tProperties.setProperty( "s3service.s3-endpoint-http-port" , "18080" );
    jets3tProperties.setProperty( "s3service.s3-endpoint-https-port" , "8443" );
    jets3tProperties.setProperty( "s3service.https-only" , "false" );

    ProviderCredentials providerCredentials = new AWSCredentials( awsAccessKey , awsSecretKey );
    S3Bucket[] myBuckets = null;
    S3Bucket currentBucket = null;
    RestS3Service s3Service = null;
    try{
        s3Service = new RestS3Service( providerCredentials , null , null , jets3tProperties );
        System.out.println( "endpoint = " + s3Service.getEndpoint() + " , isAuthenticated = "+ s3Service.isAuthenticatedConnection() ) ;
        myBuckets = s3Service.listAllBuckets();
    }catch( S3ServiceException e )
    {       e.printStackTrace();
    }

    if( myBuckets != null )
    {       System.out.println( "How many buckets? " + myBuckets.length );
            for( int i=0; i<myBuckets.length; i++ )
            {       System.out.println( myBuckets[i].getName() );
            }
    }else
    {       System.out.println( "ERROR: unable to list all buckets" );
    }

    S3Object emptyObject = new S3Object( "folder/testEmpty" );      //pseudo folder in the Key
    String emptyObjectKey = emptyObject.getKey();
    System.out.println( "S3 emtpyObject before upload: " + emptyObject );

    S3Object object = null;
    String bucketName = "testbucket";
    try{
        currentBucket = s3Service.getOrCreateBucket( bucketName );
        System.out.println( currentBucket.getName() + " isAccessible = " + s3Service.isBucketAccessible( currentBucket.getName() ) + " is meaningless" );

        emptyObject = s3Service.putObject( currentBucket , emptyObject );
        System.out.println("S3Object after upload: " + emptyObject );

        object = new S3Object( currentBucket , new File( "c:\\test.txt" ) );
        object = s3Service.putObject( currentBucket , object );
        System.out.println("object after upload: " + object );

        System.out.println( "...attempting to delete " + emptyObjectKey );
        s3Service.deleteObject( currentBucket.getName() , emptyObjectKey );

    }catch( S3ServiceException s3e )
    {       s3e.printStackTrace();
        }catch( ServiceException se )
        {       se.printStackTrace();
        }catch( Exception e )
    {       e.printStackTrace();
    }

  }

} //end class

  • « s3 jets3t bucket listing
  • s3 jets3t object listing chunked filter »

Published

May 30, 2012

Category

java

~220 words

Tags

  • bucket 7
  • create 14
  • file 92
  • java 252
  • jets3t 4
  • s3 17
  • upload 10