01/28/19 17:20 PM  

Access Files from Secure External Access | RingCentral Contact Center

« Go Back

Article

 
SummarySecure External Access (SEA) allows you to securely retrieve files from active storage so you can save them to your own server. This article guides you on how to access your files from Secure External Access (SEA).
Details
 

Access Files from Secure External Access (SEA)


RequirementsSet Up the Secure External Access Credentials

After setting up your SEA Credentials, You can use use an FTP client or a script to browse or download files from your SEA bucket.

Access Files using S3 Browser
Access Files using CrossFTP
Access Files using custom script
 

Access Files using S3 Browser


1. Download and install S3 Browser.

2. Open S3 Browser.

3. In the Add New Account window, type an Account Name you want to associate with the account.

4. Select Amazon S3 Storage as the Account Type.

5. Type the Access Key ID and Secret Access Key you generated when you set up SEA in Central into the corresponding fields.

6. Clear the Use secure transfer (SSL/TLS) checkbox.

7. Click Add new account.

8. In the main S3 Browser window, click Buckets > Add External Bucket...

9. In the Add External Bucket window, type your assigned File Location path. Type the portion of the File Location path that comes after "https://s3.amazonaws.com/". For example, if your File Location is "https://s3.amazonaws.com/my-s3-bucket/folder/", type "my-s3-bucket/folder/ " in the Remote Path field.

10. Click Add External bucket.

11. Browse and download files in the main S3 Browser window.
 

Access Files using CrossFTP


1. Download and install CrossFTP.

2. Open Cross FTP and click Sites > Site Manager....

3. In the Site Manager window, select a category to contain the new site by clicking a folder on the left or creating a new one. Click New Site.

4. Select S3 as the Protocol.

5. Set the Label to the name you want to give this site.

6. Set the Host to s3.amazonaws.com.

7. Set the Port to 80.

8. In the Access Key and Secret fields, type the Access Key ID and Secret Access Key you generated.

9. In the Remote Path field, type the portion of the File Location path that comes after "https://s3.amazonaws.com/". For example, if your File Location is "https://s3.amazonaws.com/my-s3-bucket/folder/", type "my-s3-bucket/folder/ " in the Remote Path field.

10. Click Apply.

11. Click Connect.

12. Browse and download files in the main CrossFTP window.

 

Access Files using custom script


1. Locate or create a destination on your machine where you want to download the files. Note the path to the location so you can include it in the script.

2. Open a text editor, copy the custom script, and paste it into the text editor window. Replace the underlined information with the values for your SEA implementation.

• accessKeyUser is the Access Key ID
• secretKeyUser is the Secret Access Key
• seaPath is the File Location
• downloadDirectory is the file destination on your machine.

 

import java.io.{File, FileNotFoundException, FileOutputStream, IOException}

      import com.amazonaws.AmazonServiceException
      import com.amazonaws.auth.{AWSCredentialsProvider, AWSStaticCredentialsProvider, BasicAWSCredentials}
      import com.amazonaws.auth.profile.ProfileCredentialsProvider
      import com.amazonaws.services.s3.model.ListObjectsRequest
      import com.amazonaws.services.s3.{AmazonS3Client, AmazonS3ClientBuilder}
      class S3Browser {
      def downloadS3Content(): Unit = {
      var accessKeyUser="ACCESSKEYID"
      var secretKeyUser="SECRETACCESSKEY"
      var seaPath="https://s3.amazonaws.com/YOUR-SEA-FILE-PATH/YOUR-FOLDER-NAME/"
      var seaBucketName = "YOUR-SEA-FILE-PATH"
      var seaFolderName = "YOUR-FOLDER-NAME/"
      var downloadDirectory = "DESTINATIONPATH"
      var credentials = new BasicAWSCredentials(accessKeyUser,secretKeyUser)
      var s3Client = AmazonS3ClientBuilder.standard()
      .withCredentials(new AWSStaticCredentialsProvider(credentials))
      .build()
      var listObjectsRequest = new ListObjectsRequest()
      .withBucketName(seaBucketName)
      .withPrefix(seaFolderName)
      .withEncodingType("url")
      var objectList = s3Client.listObjects(listObjectsRequest)
      var listObjIterator = objectList.getObjectSummaries.listIterator()
      println("Listing the bucket(Folder) content")
      while(listObjIterator.hasNext()){
      var item = listObjIterator.next()
      println("File : "+item.getKey+" Size : "+item.getSize)
      if(item.getSize>0){
      println("Downloading : "+item.getKey + " at : "+downloadDirectory)
      try {
      var o = s3Client.getObject(seaBucketName, item.getKey)
      var s3is = o.getObjectContent
      val targetFile = new File(downloadDirectory+item.getKey)
      val parent = targetFile.getParentFile
      if (!parent.exists && !parent.mkdirs) throw new IllegalStateException("Couldn't create dir: " + parent)
      var fos = new FileOutputStream(targetFile)
      var read_buf = new Array[Byte](1024)
      var read_len = 0
      while ({read_len = s3is.read; read_len != -1}) {
      fos.write(read_len)
      }
      } catch {
      case e: AmazonServiceException =>
      System.err.println(e.getErrorMessage)
      System.exit(1)
      case e: FileNotFoundException =>
      System.err.println(e.getMessage)
      System.exit(1)
      case e: IOException =>
      System.err.println(e.getMessage)
      System.exit(1)
      }
     }

  }

 }

}


3. Save the custom script.

4. Run the script in a command line.

5. Navigate to the destination folder to access the files.


Related articles:
RingCentral Contact Center Cloud Storage Services
RingCentral Contact Center Cloud Storage Service Frequently Asked Questions
Ranking
Was this information helpful?
Yes
No
Somewhat

Tell us why and what can we do to improve this information