3 Steps to Turn Amazon S3 into an Enterprise File Storage Solution for SharePoint

Integrate SharePoint with AWS S3

Today corporate IT is trying to embrace the influx of cloud storage brought on by the adoption of the cloud. Amazon S3 is the foremost deployed cloud storage solution in the world. It is used in many small and large companies throughout the world.

SharePoint developers are aware that SharePoint stores data on their own content database and hence SQL Server performance may decrease due to heavy data existence on SQL Server. AWS S3 (Simple Storage Service) provides integration with SharePoint using AWS SDK.

Using customized development on AWS SDK and SharePoint, we can easily store SharePoint documents on AWS S3 bucket instead of SharePoint library and return back one unique key. A key is the unique identifier for an object within a bucket. Every object in a bucket has exactly one key.

Once document is stored on AWS S3 then the key is returned and that key is saved in SharePoint list to retrieve document from AWS S3. It will definitely save your SharePoint Content Database space and increase your SQL Server performance. In case if SharePoint server is crashed then all stored documents on AWS S3 would be remain safe and you can access those using AWS cloudberry tool.

You need Amazon S3 and Sharepoint to work together, but the native integration either a) doesn’t exist or b) doesn’t do what you want.

Learn below on

3 Steps to Integrate SharePoint with AWS S3

Integrate SharePoint with AWS S3

Introduction

About Amazon S3

Amazon Simple Storage Service is a fully redundant data storage system. It makes it easy to store and retrieve any amount of data, anytime, from anywhere.
AWS S3 (Simple storage service) is provide data storage infrastructure offered by Amazon. Which is used to store and retrieve any amount of object at any time. Most important unit in AWS S3 is bucket called logical unit of storage which is used to store objects.

About SharePoint

SharePoint is business collaboration software that helps simplify content management, search, business intelligence. It also has a strong component around sharing for intranet and internet sites.

Why AWS S3?

Mainly agenda to introducing AWS S3 is to store your application objects directly on AWS S3 Cloud instead of your application server. It will help to save your application server space for better performance.

3 Steps to Integrate SharePoint with AWS S3

Note: Before start writing this process. I Hope you guys have AWS S3 instance and AWS Secrete key & AWS Access Key Id.

We can do operation on AWS S3 instance in two ways as mentioned below:

  • Using AWS cloudberry Application
  • Using AWS SDK

Here we will only see the use of AWS SDK in SharePoint Solution as mentioned below:

Step1: Install AWS SDK from below link and install:

http://aws.amazon.com/sdkfornet.

To use the AWS SDK for .NET, you must have the following installed.

  • (Required) Microsoft .NET Framework 3.5 or later
  • (Required) Microsoft Visual Studio 2010 or later
  • (Required) The AWS SDK for .NET
  • (Recommended) AWS Toolkit for Visual Studio, a plugin that provides a user interface for managing your AWS resources from Visual Studio, and includes the AWS SDK for .NET. For more information, see Using the AWS Toolkit for Visual Studio.

For Further information Click Here.

Step 2: Register AWS S3 profile in SharePoint web config file:

Inside “<appSettings>” tag, add following key:

<add key=”AWSProfileName” value=”Amazon” />

<add key=”AWSRegion” value=”us-west-2″ />

In above keys, provide value in “AWSProfileName” and “AWSRegion”.

Step3: Open Visual Studio 2012 OR higher and create new SharePoint project to implement AWS S3 operation:

Note: To use AWS SDK classes in SharePoint, need to add following DLL:

  1. AWSSDK.Core
  2. AWSSDK.EC2
  3. AWSSDK.S3
  4. AWSSDK.SimpleDB
  • Add Object in AWS S3 Bucket using SharePoint Solution:

Integrate SharePoint with AWS S3

  • Add Object in sub directory which is created under AWS bucket

Integrate SharePoint with AWS S3

  • Get Object from AWS bucket

Integrate SharePoint with AWS S3

  • Delete Object from AWS bucket

Integrate SharePoint with AWS S3

The following two tabs change content below.
Mihir Parekh

Mihir Parekh

Sr. Software Developer at Dev Information Technology Ltd.

6 thoughts on “3 Steps to Turn Amazon S3 into an Enterprise File Storage Solution for SharePoint

  1. Hi Mihir,
    Thanks for the great article. We are also trying to implement this, but I found the article to be missing some important points. I have few queries as given below
    1. After creating SharePoint project, what do you do with the Project? Does it need to be deployed in SharePoint? If so, how do you deploy it in SharePoint? Does it need to be converted to WSP & then deploy?
    2. Were you successful in moving your DBs to AWS S3 bucket with this approach?
    3. What was the performance after you moved the DBS to AWS S3 bucket?

    Thanks a million in advance.

    Regards.
    Srikanth Giddey

    • Hi,

      Thank you for read my blog. Please find my answer on your query as mentioned below:

      1. Yes, you need to install AWS SDK; develop the web part based on your need and deploy WSP on SharePoint server
      2. In my scenario, I have kept only SharePoint documents in AWS S3 bucket not fully content data. It helps us to reduce SharePoint content database size.
      3. After integrate AWS S3 with SharePoint, we got very nice performance because every year we got 70 GB of documents which directly stored in AWS S3 inserted of SharePoint content database.

      Please feel free to connect with me on mihir.parekh@devitpl.com for any further queries. I will glad to assist.

  2. Does this enable the full suite of SharePoint capabilities like indexing and search, collaboration, workflows, tools integration, etc?

    • Thank you for reading my blog article. I really appreciate that. Also, thank you for sharing your question. It is indeed resourceful. I will get back with the answer to your question very soon.

    • Hi Dave Wruck,

      I am glad to answer your questions. Please find them as under:

      Indexing and Search: Yes, You can create indexing on columns to improve the performance of various query operations. However, document content search will not appear in SharePoint out of box search result as documents are located in AWS S3. If you need my advice on how to get AWS S3 documents in the search result, do let me know.

      Workflows: You can execute workflows on SharePoint library property, but not on documents which are located on AWS S3

      Tools integration: It depends on a tool which you want to integrate with SharePoint and where to use

      Collaboration: Social collaboration and communication options do not create conflicts with AWS, except centralized access to documents as documents are stored in AWS S3 instead of SharePoint

      Please feel free to reach out to me for any further queries. I will glad to assist.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>