Offline Amazon S3 [closed] - amazon-s3

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
So I would like to try using Heroku to be my server, however heroku does not allow writing to its file system. Instead I need to use the database and something like Amazon S3 for storage of things like uploaded images.
The problem is that I often don't have internet access when developing. Or very poor internet access. So developing for Amazon S3 is kind of impractical. Is there an offline version to use so that my local machine can act as the S3 cloud, and when in testing/production environments I can use the real S3?

Old question but wanted to post this, there is a "Fake S3" tool that appears to be designed to do exactly this. Just about to give it a whirl.
https://github.com/jubos/fake-s3

My recommendation is to try s3fs with rsync. Here's how it would work:
Mount your s3 drive to /mnt/sdaX/ on your production machine and /mnt/sdaY/ on your local machine.
Create a file system at /mnt/sdaX/ on your local machine.
Make the changes on your local machine as needed. When appropriate, rync /mnt/sdaX/ to /mnt/sdaY/ on your local box.
I realize that this is complicated, but I'm not sure that there's really any other way to do it while maintaining the same configuration in both places. Normally I'd say you should just write to the s3fs drive locally with local caching enabled, but I'm not sure what happens when you return online (I'm pretty sure it doesn't sync, but I've gone ahead and asked s3fs developers).
Best,
Zach
Developer, LongTail Video

Have a look at:
Eucalyptus Walrus
Park Place
It might be some work to get them running, however. I finally wanted to write my own clone using node.js, but it has moved far away from the original S3 API, so it won't really help you anymore.

Related

Configuring environment variables for static web site on AWS S3 [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 3 years ago.
Improve this question
I am trying to setup a simple static Angular website on S3 per the info:
http://docs.aws.amazon.com/gettingstarted/latest/swh/website-hosting-intro.html
I want to send email via a form that needs to send sendgrid api keys. Obviously, I want to use environment variables for this to avoid having keys in code. How do you setup environment variables in S3?
I looked into aws-cli tool but it only shows examples of what appear to be AWS specific enviroment variables. Is there somewhere in AWS/S3 console were these can be set?
BTW- I would like to use this Angular service which demonstrates the sendgrid service:
https://github.com/onaclovtech/sendgrid/blob/master/sendgrid.js
You can't set environment variables in S3. S3 is just a static object store, not a dynamic content server. To evaluate variable values would be the very definition of dynamic content, and S3 only serves static content.
Note that AngularJS code runs in the browser, not on a server, so those keys you want to keep out of your code are going to be viewable in the browser by anyone that knows how to look. There's no way for you to hide those values if you want to call SendGrid from a client-side framework.
Most of the reputed email marketing companies won't even allow calling their services from a front-end where the keys could be exposed such as MailChimp. You can read the below:
Note: MailChimp does not support the client-side implementation of our API using CORS requests due to the potential security risk of exposing account API keys.
Now, it may happen that many a time, you would want to still use environment variables to separate environments and such (non-sensitive information). In such scenarios, you should use the environment variables on your machine and generate builds with the help of webpack or some other build tool.

VMware vmdk file restore [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 4 years ago.
Improve this question
Short story: machine (OS X Yosemite; VMware 10.0.1; host machine - Windows 7, i5, 8GB RAM) worked well, turned off well. Yesterday started machine - it began working very slowly. No other heavy process was launched, and nothing was changing at all, I can't understand why it working so slow. Couple of times I started machine and kill it by task manager.
What I'm tried:
Tried to recover vmdk file by vdisk manager: vmware-vdiskmanager -R "c:\[OS]\Yosemite\OS X Yosemite.vmdk". Output was: VixDiskLib: Invalid configuration file parametr. Failed to read configuration file. No errors were found on the virtual disk. Tried to check and repair disk c, virus scan.
Today machine showed new problem - after turning on, it loading to quarter, then long pause, and exit without any messages or errors.I clambered a bunch of forums but found nothing.
What I'm tried:
Tried to load machine in safe mode - but can't do it. Tried to create new machine using old vmdk.
Main problem - machine has some important files for me, and I want get them.
I'm tried some programs for recover files (PowerISO, SysTools VMware Recovery) but none of them worked.
What I'm asking for:
Anybody knows means to restore vmdk, pulling files from it, or the way to make 100% sure that the disc is dead and nothing will not help?
Solved the main problem. I Installed Paragon HFS+ on my PC, then mapped vmdk file and saw whole file system, restored important files.

How does Dropbox work? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
How does Dropbox work? Is it just an FTP client with an easy-to-use web interface and support for many plarforms?
What makes it so useful to programmers, even for those who are working on web-based applications and who have FTP access to a server by default?
Does Dropbox come with an improved algorithm to facilitate file transfer for a better speed? What is the difference between an FTP client and Dropbox from a programmer's point of view?
FTP is just a way of copying files. And copying is not the same as synchronizing, which I believe is Dropbox's biggest strength.
Dropbox is a multiway synchronization system. This means if you are using your Dropbox account on many machines and editing different files on each machine, they will all be synchronised appropriately. With FTP you would have to delicately pick and choose which files need to be removed or added from each client to the server.
Another main difference is that synchronisation happens automatically whenever a file changes, which FTP does not do.
In terms of algorithms, I would guess that Dropbox uses file deltas for file transfer, which makes it much more efficient than FTP. This means only the parts of the file that changed are transferred instead of transferring the entire file every time it changes (see rsync).
I believe you are only asking about Dropbox's core functionality. Beyond that, Dropbox has lots of cool features that FTP does not like some revision control, photo gallery sharing, etc.
Dropbox files are not accessible by FTP. The API uses a REST-style architecture over the HTTP protocol. See Build the power of Dropbox into your app.

Tools to Automate Amazon S3 backups from Windows Server [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
In order to take regular backups, we want to compress and upload files from our Windows Server to Amazon S3 service. Is there any freeware application that allows us to schedule regular backups?
Your best bet is to use Windows PowerShell.
This blog post describes how to automate SQL Server backups with PowerShell to Amazon S3:
Randoom: EC2 SQL Server backup strategies and tactics
There is also a newer option that has become available in the meantime:
Standalone Windows .EXE command line utility for Amazon S3 & EC2
It's a .Net command-line tool executable that provides S3 commands to work with the S3 directly or through batch scripts.
Another great tool is S3Sync from SprightlySoft (free & opensource - S3Sync.zip) - a command line tool for windows. It offers a "differential" sync of a folder, detecting all additions, deletions/file-changes etc.
Here's a detailed article on how to use it Automating S3 backups on Windows
We do this under Linux with a shell script (batch file) that simply zips the required files and then calls s3cmd (from the Amazon command line tools) to put the zip file to an S3 bucket. There's also some exit code (errorlevel) checking to ensure everything went well.
We schedule that script with cron. You could do the same with windows task scheduler.
If you need a command line capable ZIP utility, 7-zip is a good open source choice.
Yes, the backup rubygem. It lets you define the backups declaratively, and then shells out to command-line tools to actually run them. It's probably cross-platform enough.
Alternatively, yes; powershell can be made to do what you want with the AWS .NET SDK loaded - it's quite bare-bones compared to the ruby one, though; I've ended up with far more concise ruby-based scripts than powershell ones (and I'm reasonable at both approaches, I think), since the ruby sdk layers a nicer model over the top of each API.

Is there any way of delivering server-based Help without a Web server? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
We want to provide Help for a client/server system. In the current version of the system this is done client side with traditional HTML Help (i.e. lots of .chm files sitting on each client machine). For a variety of reasons (e.g. to allow quick/easy updates to the Help) we want to move the Help content (i.e. the actual topic files) onto a server.
The client-side desktop app that the Help relates to already connects to a server, so it seems like we should be able to have a client-side help viewer doing a similar thing - i.e. pulling it's topic files off a server.
However, we don't want to reinvent the wheel and code something if there's already something out there that does this.
The obvious solution would be to use WebHelp, but there's some resistance to requiring our customers to run a Web server. And hosting ourselves, or via a 3rd party, is not an option.
So does anyone know of a way of providing Help where the content resides on the server?
What sort of server are you running? Is there any reason you couldn't host a web server within your server product, potentially on a "normally unused" port? You don't need to ask the customer to install and manage a web server if you bundle it yourself.
What platform is this on, btw?
EDIT: As suggested by David in the comments, there's a related question about a embedding lightweight web server.
You should be able to do this without too much trouble.
I built a CHM-to-Web converter that slurps in a CHM and spits out a web site.
This is an example website produced from the converter tool.
The CHM creation takes a loooooong time, through Sandcastle Helpfile Builder, but the transformation from CHM to web happens in about 6 seconds. It is totally automated.
You could take this magic and tweak it to fit your rich client app. The client could query the server for an index or topic list, and then retrieve the help content as desired by the user, from the server, on demand.
Maybe I've got the wrong end of the stick, but if this all resides on an intranet then maybe you can use a mapped network drive which is shared between all your client machines, e.g. H:/ (you could make it part of their login script). You can then use a file link to get to the HTML pages, e.g. file:///H:/help_folder/index.html
If the rest of your app is delivered across the web, then you'll have to use a web server. There is very cheap and easy web hosting available.