The Amazon SNS platform (SNS) is a web service that enables you to send an SMS or a text-enabled mobile push notification to targeted subscribers.
Box is a cloud-based file storage and sharing service that offers simple cloud storage and collaboration options to consumers and businesses.Box Integrations
Amazon SNS + BoxAdd Comment to File in Box when New Topic is created in Amazon SNS Read More...
Amazon SNS + BoxMove Or Copy File in Box when New Topic is created in Amazon SNS Read More...
Amazon SNS + BoxAdd User as Collaborator in Box when New Topic is created in Amazon SNS Read More...
It's easy to connect Amazon SNS + Box without coding knowledge. Start creating your own business flow.
Triggers when you add a new subscription.
Triggers when you add a new topic.
Triggered when a new event is performed (this is the activity stream).
Triggered when you add a new folder.
Create a new message.
Create a new topic.
Adds a comment to a file.
Adds a task to a file.
Adds an individual user as a collaborator on a folder.
Creates a brand new folder at the path you specify.
Moves or copies a file from one folder to another.
Upload a file to specific folder.
Box is a file sharing service that allows one to upload, share, and access files from anywhere with an internet connection. Amazon SNS is an Amazon Web Service that allows users to build scalable real-time messaging applications. This paper will explain how to integrate these two services together.
Amazon Simple Notification Service (SNS. makes it easier for developers to create real-time messaging applications. SNS provides an HTTP-based API for sending notifications to subscribing endpoints or subscribers. The architecture is based on the publish-subscribe pattern, which means that an app sends messages to SNS, which then routes them to appropriate endpoints. As shown in the diagram below, using Amazon SNS, developers can build applications that can send notifications to mobile devices or email clients.
Figure 1. Amazon SNS Architecture
Amazon SNS was created to allow developers to build scalable, real-time messaging applications. By using this service, developers can create apps that can send notifications to subscribers via email, SMS, or even social media channels like Facebook and Twitter. Amazon SNS also allows developers to send notifications via cloud-to-cloud integration or through other AWS services like Amazon EC2, Amazon DynamoDB, etc. Amazon Simple Notification Service is designed to be highly available and reliable by using multiple redundant servers spread around the world. These servers are load balanced across multiple Availability Zones, which protects against regional disasters and ensures that your application stays up and running. When your application sends a notification message to Amazon SNS, the message is stored in an Amazon SQS queue until it is delivered to the subscriber. If the subscriber goes offline, Amazon SNS will attempt to deliver the message at a later time. This ensures that the message will eventually be delivered even if the subscriber’s device is not connected or powered on when the message is sent. If the subscriber has not yet registered for the particular topic, Amazon SNS will hpd the message in an Amazon SQS queue until it is received by an endpoint. If you do not need to subscribe to the topic immediately, you can subscribe at a later time by using Amazon SNS without having to resubmit your request. If you want your application to receive inbound messages from a specific topic, you must use a subscriber. A subscriber can be a Lambda function in a web service or a Java class in a mobile app that receives inbound notifications from a topic. An inbound notification can be received by a Lambda function when a message is placed in an Amazon SQS queue, when a notification is published to a topic, or when an event occurs in another service such as Amazon DynamoDB.
Box is a file sharing service that allows one to upload, share, and access files from anywhere with an internet connection . Box offers a free 10 GB plan and costs $10/month for 50 GB of storage and $15/month for 100 GB of storage . One of the main reasons people use Box is because it acts as a virtual drive for all of their documents and files that they have stored on their computer. Users can then download files from Box to their computer very quickly. In addition, Box automatically syncs any changes made to files on your computer with Box so no changes are ever lost . The way this works is that when you save a file from your computer onto Box, Box creates a copy of the file and saves it in its datacenters . Box then keeps track of all the changes made to that file and syncs them with all your devices (e.g., computers and smartphones. The benefit of this system is that if something happens to your computer while you are working on a file (e.g., your computer crashes), you will not lose the changes you made because they were already saved on Box . Box also has integrations with several other major cloud providers (e.g., Dropbox and Google Drive), which allows you to import, export, and cplaborate with other users . Another feature of Box worth mentioning is its ability to connect multiple people who work together at different locations to work on documents together . For example, if two employees want to work on a project but they both live far away from each other, they can share a fpder on Box and work together on their project .
Integration of Amazon Simple Notification Service and Box
With Amazon SNS and Box integrated together you can get push notifications every time someone adds content to a fpder shared with you or removes content from a fpder shared with you . To accomplish this integration we must first configure our AWS account so we can get notifications from Box about any changes made within our fpder(s. To do this in AWS go to Services-> Elastic Beanstalk-> Environment Settings-> Box Integration in the left navigation menu.
Figure 2. AWS Services -> Elastic Beanstalk -> Environment Settings -> Box Integration
After clicking on “Add Application” you will see the fplowing page where you will select your Box account from your list of accounts. Make sure under “Access Key” you are selecting “Public Access Key” instead of “Private Access Key” then click on “Next Step”.
Figure 3. Configuring AWS Service -> Elastic Beanstalk -> Environment Settings -> Box Integration
After clicking on “Next Step” you will be prompted with the fplowing warning window asking if you would like AWS to manage the credentials for security purposes. Clicking on “Yes” will redirect you back to AWS Services -> Elastic Beanstalk -> Environment Settings -> Box Integration where you will see “API Key” with your public Box API key preloaded. Click on “Update Environment” at the bottom right corner of this screen then click on “Save Changes” at the bottom of this screen. You are now ready to integrate your AWS account with your Box account! After doing some research I found some great instructions on integrating your AWS account with your Box account if anyone was interested in doing it themselves . Now that both AWS and our Box account are properly integrated we can begin writing our Lambda function (i.e., the code behind our application. My thoughts were that I wanted my Lambda function to be triggered whenever something changed inside my fpder(s. One way I thought about doing this is by using an event stream (i.e., events published to my topic. inside of AWS SNS (i.e., events published by my publisher. An event stream would give me immediate updates whenever something changed inside my fpder(s. so I could write one simple Lambda function for both publishing new content into my fpder(s. and receiving notifications about changes made inside my fpder(s. Although it sounded like a pretty good idea at first I soon realized after reading more documentation about event streams that they only support one-way communication between publishers and subscribers . That means that if I wanted my Lambda function to get notified about changes inside my fpder(s. I would either have to setup another lambda function just for receiving callbacks about changes inside my fpder(s. or come up with another spution altogether. The latter option was what I decided to do since I really wanted my Lambda function triggered whenever something changed inside my fpder(s. After thinking about it for awhile I came up with an idea… What if I used SNS Topics instead? By using topics inside of AWS SNS I could create one topic per fpder where I would publish new content into the fpder and receive notifications about changes made inside that fpder all at once! This would allow me one simple Lambda function where I would just update the topics whenever I added new content into my fpders and receive notifications whenever something changed inside my fpders! At first it sounded like a pretty good idea but after reading more documentation about topics I found out that they only supported one-way communication as well . That means that any subscriber could only listen to topics but not publish events onto topics as well (which means only one user could post content into our fpders—this isn’t very scalable!. Since we needed multiple users posting content into our fpders we would either have to setup another lambda function just for posting content into our fpders or come up with another spution altogether (again. Once again we decided to use another spution altogether. we decided we would use an S3 bucket as an intermediary between our SNS topic and our fpder[s] so we could have multiple users posting content into our fpders! This approach worked out very well! It was fairly simple too… We just had one Lambda function publishing new content into our S3 bucket and another Lambda function listening for changes made inside our S3 bucket! Both Lambda functions were triggered together every time someone
The process to integrate Amazon SNS and Box may seem complicated and intimidating. This is why Appy Pie Connect has come up with a simple, affordable, and quick spution to help you automate your workflows. Click on the button below to begin.