<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UNIXy &#187; Limitation</title>
	<atom:link href="http://blog.unixy.net/tag/limitation/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.unixy.net</link>
	<description>Fully Managed Dedicated Servers</description>
	<lastBuildDate>Fri, 03 Sep 2010 04:07:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Amazon S3 File Size Limitation &#8211; Solved</title>
		<link>http://blog.unixy.net/2009/04/amazons-s3-file-size-limitation-solved/</link>
		<comments>http://blog.unixy.net/2009/04/amazons-s3-file-size-limitation-solved/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 09:38:25 +0000</pubDate>
		<dc:creator>UNIXy</dc:creator>
				<category><![CDATA[Break-Fix]]></category>
		<category><![CDATA[5368709120]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[File size limitation]]></category>
		<category><![CDATA[Limitation]]></category>
		<category><![CDATA[S3]]></category>

		<guid isPermaLink="false">http://blog.unixy.net/?p=8</guid>
		<description><![CDATA[Download article as PDF If you attempt to store a file larger than roughly 5GB, the Amazon service will generate the following error and fail to store the file: &#60;Error&#62;&#60;Code&#62;EntityTooLarge&#60;/Code&#62;&#60;Message&#62;Your proposed upload exceeds the maximum allowed object size&#60;/Message&#62;&#60;ProposedSize&#62;6091682399&#60;/ProposedSize&#62;&#60;MaxSizeAllowed&#62;5368709120&#60;/MaxSizeAllowed&#62;&#60;/Error&#62; One way around this limitation is use the GNU/Linux command split to divide the file into several [...]]]></description>
			<content:encoded><![CDATA[<div class="pdf24Plugin-cp"> <form name="pdf24Form1" method="post" target="pdf24PopWin" action="http://doc2pdf.pdf24.org/wordpress.php"><input type="hidden" name="blogCharset" value="VVRGLTg=" /><input type="hidden" name="blogPosts" value="MQ==" /><input type="hidden" name="blogUrl" value="aHR0cDovL2Jsb2cudW5peHkubmV0" /><input type="hidden" name="blogName" value="VU5JWHk=" /><input type="hidden" name="blogValueEncoding" value="base64" /><input type="hidden" name="postTitle_0" value="QW1hem9uIFMzIEZpbGUgU2l6ZSBMaW1pdGF0aW9uICYjODIxMTsgU29sdmVk" /><input type="hidden" name="postLink_0" value="aHR0cDovL2Jsb2cudW5peHkubmV0LzIwMDkvMDQvYW1hem9ucy1zMy1maWxlLXNpemUtbGltaXRhdGlvbi1zb2x2ZWQv" /><input type="hidden" name="postAuthor_0" value="VU5JWHk=" /><input type="hidden" name="postDateTime_0" value="QXByaWwgMTIsIDIwMDkgOTozOCBhbQ==" /><input type="hidden" name="postContent_0" value="PGRpdiBjbGFzcz0idHdlZXRtZW1lX2J1dHRvbiIgc3R5bGU9ImZsb2F0OiByaWdodDsgbWFyZ2luLWxlZnQ6IDEwcHg7Ij4KCQkJPGEgaHJlZj0iaHR0cDovL2FwaS50d2VldG1lbWUuY29tL3NoYXJlP3VybD1odHRwJTNBJTJGJTJGYmxvZy51bml4eS5uZXQlMkYyMDA5JTJGMDQlMkZhbWF6b25zLXMzLWZpbGUtc2l6ZS1saW1pdGF0aW9uLXNvbHZlZCUyRiI+PGJyIC8+CgkJCQk8aW1nIHNyYz0iaHR0cDovL2FwaS50d2VldG1lbWUuY29tL2ltYWdlYnV0dG9uLmdpZj91cmw9aHR0cCUzQSUyRiUyRmJsb2cudW5peHkubmV0JTJGMjAwOSUyRjA0JTJGYW1hem9ucy1zMy1maWxlLXNpemUtbGltaXRhdGlvbi1zb2x2ZWQlMkYmYW1wO3N0eWxlPW5vcm1hbCIgaGVpZ2h0PSI2MSIgd2lkdGg9IjUwIiAvPjxiciAvPgoJCQk8L2E+CgkJPC9kaXY+CjxwPklmIHlvdSBhdHRlbXB0IHRvIHN0b3JlIGEgZmlsZSBsYXJnZXIgdGhhbiByb3VnaGx5IDVHQiwgdGhlIEFtYXpvbiBzZXJ2aWNlIHdpbGwgZ2VuZXJhdGUgdGhlIGZvbGxvd2luZyBlcnJvciBhbmQgZmFpbCB0byBzdG9yZSB0aGUgZmlsZTo8L3A+CjxibG9ja3F1b3RlPjxwPiZsdDtFcnJvciZndDsmbHQ7Q29kZSZndDtFbnRpdHlUb29MYXJnZSZsdDsvQ29kZSZndDsmbHQ7TWVzc2FnZSZndDs8c3Ryb25nPllvdXIgcHJvcG9zZWQgdXBsb2FkIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCBvYmplY3Qgc2l6ZTwvc3Ryb25nPiZsdDsvTWVzc2FnZSZndDsmbHQ7UHJvcG9zZWRTaXplJmd0OzYwOTE2ODIzOTkmbHQ7L1Byb3Bvc2VkU2l6ZSZndDs8c3Ryb25nPiZsdDtNYXhTaXplQWxsb3dlZCZndDs1MzY4NzA5MTIwJmx0Oy9NYXhTaXplQWxsb3dlZCZndDs8L3N0cm9uZz4mbHQ7L0Vycm9yJmd0OzwvcD48L2Jsb2NrcXVvdGU+CjxwPk9uZSB3YXkgYXJvdW5kIHRoaXMgbGltaXRhdGlvbiBpcyB1c2UgdGhlIEdOVS9MaW51eCBjb21tYW5kIDxlbT5zcGxpdDwvZW0+IHRvIGRpdmlkZSB0aGUgZmlsZSBpbnRvIHNldmVyYWwgc21hbGxlciBjaHVua3MsIHdoaWNoIGFyZSBpbiB0dXJuIHN0b3JlZCBpbiBBbWF6b24mIzgyMTc7cyBTMy4gSXQmIzgyMTc7cyBpbXBvcnRhbnQgdG8ga25vdyB0aGUgb3JkZXIgb2YgdGhlc2UgY2h1bmtzIGFzIHRoZSBvcmlnaW5hbCBmaWxlIGlzIHNwbGl0LiBUaGUgZ29vZCBuZXdzIGlzIHRoYXQgdGhlIHNwbGl0IGNvbW1hbmQgcHJlc2VydmVzIHRoZSBvcmRlciBvZiB0aGUgY2h1bmtzIGJ5IGFkZGluZyBhIHN1ZmZpeCB0byBlYWNoIGNodW5rLiBIZXJlJiM4MjE3O3MgYW4gZXhhbXBsZSBvZiB0aGUgc3BsaXQgY29tbWFuZCBpbiBhY3Rpb24uIEluIHRoaXMgZXhhbXBsZSwgd2UmIzgyMTc7cmUgc3BsaXR0aW5nIGZpbGUgb3V0ZmlsZS50bXAsIHdoaWNoIGlzIG9mIHNpemUgMi4zR0IsIGludG8gY2h1bmtzIG9mIDFHQiBlYWNoOjwvcD4KPGJsb2NrcXVvdGU+PHA+IyBkdSAtc2ggb3V0ZmlsZS50bXA8YnIgLz4KMi4zR8KgwqDCoCBvdXRmaWxlLnRtcDwvcD4KPHA+IyBzcGxpdCAtYSAxIC1iIDEwNzM3NDE4MjQgb3V0ZmlsZS50bXAgb3V0ZmlsZS50bXAuPC9wPgo8cD4jIGxzIC1hbGggb3V0ZmlsZS50bXAuKjxiciAvPgotcnctciYjODIxMTtyJiM4MjExOyAxIHJvb3Qgcm9vdCAxLjBHIEFwciAxMSAwOTo1MSBvdXRmaWxlLnRtcC5hPGJyIC8+Ci1ydy1yJiM4MjExO3ImIzgyMTE7IDEgcm9vdCByb290IDEuMEcgQXByIDExIDA5OjUxIG91dGZpbGUudG1wLmI8YnIgLz4KLXJ3LXImIzgyMTE7ciYjODIxMTsgMSByb290IHJvb3QgMjc0TSBBcHIgMTEgMDk6NTEgb3V0ZmlsZS50bXAuYzwvcD48L2Jsb2NrcXVvdGU+CjxwPkFzIHlvdSBjYW4gc2VlLCBzcGxpdCBpcyBhcHBlbmRpbmcgYWxwaGFiZXRpY2FsIGxldHRlcnMgdG8gdGhlIGVuZCBvZiB0aGUgc3BsaXQgZmlsZSBuYW1lLiBUaGlzIGNvbWVzIGhhbmR5IHdoZW4gcmVhc3NlbWJsaW5nIHRoZSBmaWxlLiBIZXJlJiM4MjE3O3MgYSBxdWljayBwcm9vZiBvZiBjb25jZXB0IGZvbGxvd2luZyBvdXIgZWFybGllciBleGFtcGxlOjwvcD4KPGJsb2NrcXVvdGU+PHA+IyA8c3Ryb25nPm1kNXN1bSBvdXRmaWxlLnRtcDwvc3Ryb25nPjxiciAvPgo8c3Ryb25nPmUxZjRiYmNmYzIzMDliM2M3ZWE0ODAyOGMzZjFjOWU5PC9zdHJvbmc+IG91dGZpbGUudG1wPGJyIC8+CiMgY2F0IG91dGZpbGUudG1wLmEgb3V0ZmlsZS50bXAuYiBvdXRmaWxlLnRtcC5jICZndDsgcmVhc3NlbWJsZWQudG1wPGJyIC8+CiMgPHN0cm9uZz5tZDVzdW0gcmVhc3NlbWJsZWQudG1wIDwvc3Ryb25nPjxiciAvPgo8c3Ryb25nPmUxZjRiYmNmYzIzMDliM2M3ZWE0ODAyOGMzZjFjOWU5PC9zdHJvbmc+IHJlYXNzZW1ibGVkLnRtcDwvcD48L2Jsb2NrcXVvdGU+CjxwPkFsbCBhcyBwbGFubmVkISBUaGF0JiM4MjE3O3MgYWxsIGZvbGtzLjwvcD4K" /></form> <div class="pdf24Plugin-cp-link"> 	<a href="http://en.pdf24.org" target="_blank" title="PDF"><img src="http://blog.unixy.net/wp-content/plugins/pdf24-post-to-pdf/img/sheep_16x16.gif" alt="PDF" border="0" /></a> 	<a href="javascript:void(document.pdf24Form1.submit());" onclick="var pdf24Win = window.open('about:blank', 'pdf24PopWin', 'resizable=yes,scrollbars=yes,width=400,height=200,top=0,left=0'); pdf24Win.focus(); return true;">Download article as PDF</a> </div> </div><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.unixy.net%2F2009%2F04%2Famazons-s3-file-size-limitation-solved%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.unixy.net%2F2009%2F04%2Famazons-s3-file-size-limitation-solved%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>If you attempt to store a file larger than roughly 5GB, the Amazon service will generate the following error and fail to store the file:</p>
<blockquote><p>&lt;Error&gt;&lt;Code&gt;EntityTooLarge&lt;/Code&gt;&lt;Message&gt;<strong>Your proposed upload exceeds the maximum allowed object size</strong>&lt;/Message&gt;&lt;ProposedSize&gt;6091682399&lt;/ProposedSize&gt;<strong>&lt;MaxSizeAllowed&gt;5368709120&lt;/MaxSizeAllowed&gt;</strong>&lt;/Error&gt;</p></blockquote>
<p>One way around this limitation is use the GNU/Linux command <em>split</em> to divide the file into several smaller chunks, which are in turn stored in Amazon&#8217;s S3. It&#8217;s important to know the order of these chunks as the original file is split. The good news is that the split command preserves the order of the chunks by adding a suffix to each chunk. Here&#8217;s an example of the split command in action. In this example, we&#8217;re splitting file outfile.tmp, which is of size 2.3GB, into chunks of 1GB each:</p>
<blockquote><p># du -sh outfile.tmp<br />
2.3G    outfile.tmp</p>
<p># split -a 1 -b 1073741824 outfile.tmp outfile.tmp.</p>
<p># ls -alh outfile.tmp.*<br />
-rw-r&#8211;r&#8211; 1 root root 1.0G Apr 11 09:51 outfile.tmp.a<br />
-rw-r&#8211;r&#8211; 1 root root 1.0G Apr 11 09:51 outfile.tmp.b<br />
-rw-r&#8211;r&#8211; 1 root root 274M Apr 11 09:51 outfile.tmp.c</p></blockquote>
<p>As you can see, split is appending alphabetical letters to the end of the split file name. This comes handy when reassembling the file. Here&#8217;s a quick proof of concept following our earlier example:</p>
<blockquote><p># <strong>md5sum outfile.tmp</strong><br />
<strong>e1f4bbcfc2309b3c7ea48028c3f1c9e9</strong> outfile.tmp<br />
# cat outfile.tmp.a outfile.tmp.b outfile.tmp.c &gt; reassembled.tmp<br />
# <strong>md5sum reassembled.tmp </strong><br />
<strong>e1f4bbcfc2309b3c7ea48028c3f1c9e9</strong> reassembled.tmp</p></blockquote>
<p>All as planned! That&#8217;s all folks.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.unixy.net/2009/04/amazons-s3-file-size-limitation-solved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
