Download and Upload Files from S3 bucket in Amazon S3 bucket

   

 


 

 

Download Files from S3 bucket in Amazon S3 bucket

public static async Task DownloadS3FolderFileslistAsync()
  {
      string bucketName = ConfigurationManager.AppSettings["AWSBucket"].ToString(); // your aws s3 bucket name
      string downloadLocation = ConfigurationManager.AppSettings["download"]; // your aws s3 bucket down loadLocation

      AmazonS3Client s3Client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1);
      Console.WriteLine("initializing.......step2");
      TransferUtility fileTransferUtility = new TransferUtility();
      //ListObjectsRequest request = new ListObjectsRequest();
      //ListObjectsResponse response = s3Client.ListObjects(request.BucketName = bucketName, request.Prefix = foldername);

      //AmazonS3Client s3Client = new AmazonS3Client();

      // to list out all the elements inside of a director [To know more][1]
      string prefix = "FolderName/";

      ListObjectsRequest request = new ListObjectsRequest
      {
          BucketName = bucketName,
          Prefix = prefix,
          // Use this to exclude your directory name
          // StartAfter = prefix
      };
     // ListObjectsResponse response = s3Client.ListObjects(request);
      ListObjectsResponse response = s3Client.ListObjects(request.BucketName = bucketName, request.Prefix = prefix);

      foreach (S3Object obj in response.S3Objects)
      {

          try
          {
              Console.WriteLine("folder name " + obj.Key);

              string filename = downloadLocation + obj.Key.Split('/').Reverse().First();

              Console.WriteLine("DestinationFolder" + Path.GetDirectoryName(downloadLocation+obj.Key));

              if(!(Directory.Exists(Path.GetDirectoryName(downloadLocation + obj.Key))))
              {
                  Directory.CreateDirectory(Path.GetDirectoryName(downloadLocation + obj.Key));

                  Console.WriteLine("dir name created successfully is {0}", Path.GetDirectoryName(downloadLocation + obj.Key));
              }
              else
              {
                  Console.WriteLine("DestinationFolder files" + downloadLocation + obj.Key);

                  FileStream fstream = File.Create(downloadLocation + obj.Key);

                  fstream.Close();

                  fileTransferUtility.Download(downloadLocation + obj.Key, bucketName, obj.Key);

                  Console.WriteLine("Transferred Successfully {0}", downloadLocation + obj.Key);
              }

          }
          catch (Exception Excep)
          {
              Console.WriteLine(Excep.Message, Excep.InnerException);
          }
      }
  }

 

 

Upload Files to S3 Bucket

public static void UploadfilesToS3Bucket()
{
    string bucketName = ConfigurationManager.AppSettings["AWSBucket"].ToString(); // your aws s3 bucket name
    string keyName = ConfigurationManager.AppSettings["keyName"]; //your file name
    string filePath = ConfigurationManager.AppSettings["filename"]; //@"C:\path\to\your\file.txt";

    // Set up your AWS credentials
    //BasicAWSCredentials credentials = new BasicAWSCredentials("ACCESS_KEY", "SECRET_KEY");

    // Create a new Amazon S3 client
    AmazonS3Client s3Client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1);

    try
    {
        // Upload the file to Amazon S3
        TransferUtility fileTransferUtility = new TransferUtility(s3Client);
        fileTransferUtility.Upload(filePath, bucketName, keyName);
        Console.WriteLine("Upload completed!");
        Console.ReadLine();
    }
    catch (AmazonS3Exception e)
    {
        Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message);
    }
    catch (Exception e)
    {
        Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message);
    }
}

DOT NET ADDA

interested in solving the problems based on technologies like Amazon AWS ,Google Cloud, Azure and Dot related technology like asp.net, C#, asp.net core API, swagger, react js,Jquery ,javascripts, bootstrap, css,html, ms sql,IIS,WPF ,WCF,Firebase,RDLC Report etc..

1 Comments

Post a Comment
Previous Post Next Post