Errata

Programming Amazon Web Services

Errata for Programming Amazon Web Services

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Extras
Download content

Downloaded content.

AWS.rb

line 204

{'charset', 'utf-8'})

should be:

{'charset'=>'utf-8'})

From:
http://www.ruby-doc.org/stdlib-2.1.1/libdoc/net/http/rdoc/Net/HTTPHeader.html#method-i-set_content_type

set_content_type(type, params = {})

Sets the content type in an HTTP header. The type should be a full HTTP content type, e.g. ?text/html?. The params are an optional Hash of parameters to add after the content type,
e.g. {?charset? => ?iso-8859-1?}

Anonymous  Jun 12, 2014 
Printed
Page 62
1st paragraph

There is an extra "must" in the sentence which starts as:

The original request message must must not be modified...

Note from the Author or Editor:
Remove one of the duplicated words "must" from a sentence in the middle of the paragraph 1, page 62.

Change:

"The original request message must must not be..."

To:

"The original request message must not be..."

Tena Sakai  Aug 26, 2009 
Printed
Page 85
At the bottom of the page

It states:

irb> obj[:headers]['content-type']
=> "text/plain"

Shouldn't this be:

irb> obj_meta[:headers]['content-type']
=> "text/plain"

Note from the Author or Editor:
Change the second-last line from the code block on page 85 from:

irb> obj[:headers]['content-type']

To:

irb> obj_meta[:headers]['content-type']

Tena Sakai  Aug 25, 2009 
Printed
Page 141
def statement of example 4-8

The def statement reads:

def backup(bucket_name, path, force=false, options={})

To be consistent with what's in the file s3backup.rb, maybe it should be:

def back_up(bucket_name, path, force=false, options={})

Note from the Author or Editor:
This submission is correct. In Example 4-8 on page 141, the name of the function definition should be "back_up", not "backup".

Change the second line of the code example from:

def backup(bucket_name, path, force=false, options={})

To:

def back_up(bucket_name, path, force=false, options={})

Tena Sakai  Aug 01, 2009 
Printed
Page 130
The 1st paragraph.

The first paragraph on page 130 starts with:

Note from the Author or Editor:
Change the word "is" to "in" within the first sentence of paragraph 1, page 130: "The access control settings available is S3's ACLs provide..."

Tena Sakai  Jul 21, 2009 
Printed
Page 117
1st paragraph and get_acl() invocation immediately below

The first paragraph starts with

Note from the Author or Editor:
Change text of the first line of the first new code block (third paragraph) on page 117 from:

irb> acl = s3.get_acl('my-bucket', 'Metadata.txt')

To:

irb> acl = s3.get_acl('my-bucket', 'WebPage.html')

Tena Sakai  Jul 21, 2009 
Printed
Page 90
3rd paragraph from bottom

The third paragraph from the bottom of the page 90 starts with:

Note from the Author or Editor:
Replace the italicized term "MyDocuments" in the third-last paragraph on page 90 with the word "MyPictures" (also italicized).

I.e the line ending with:

"... listing of the MyDocuments directory."

Becomes:


"... listing of the MyPictures directory."

Tena Sakai  Jul 21, 2009 
Printed
Page 29
Paragraph directly after Example 2-2

The code in Example 2-2 relies on a custom method which is not defined until Example 2-10. The text states "Be sure to implement the encode_base64 method in Example 2-2 before you perform this test." but the reference should be to Example 2-10, not Example 2-10.

Note from the Author or Editor:
Published text:

Be sure to implement the encode_base64 method in Example 2-2 before you perform this test.

Corrected text (with altered example reference):

Be sure to implement the encode_base64 method as defined in Example 2-10 before you perform this test.

James Murty
 
Mar 28, 2009 
Printed
Page 8
Approximately half way down

The sentence ending "by making its services accessible multiple data center locations" appears to be missing a word.

Note from the Author or Editor:
Change text from: "Amazon seeks to be resistant to traffic routing problems by making its services accessible multiple data center locations."

To: "Amazon seeks to be resistant to traffic routing problems by making its services accessible from multiple data center locations."
(added "from")

James Lawrie  Jan 14, 2009 
Printed
Page 6
Last sentence

The sentence "What were the key goals that lead Amazon to build the services in the first place?" I believe should read "What were the key goals that led Amazon to build the services in the first place?" (lead -> led)

James Lawrie  Jan 14, 2009 
5.6.1
Table 5-11

The value of shutdownState for "terminated" is incorrect in table 5-11.

It reads:

terminated (42): no longer running

and should read:

terminated (48): no longer running

http://techbus.safaribooksonline.com/9780596515812/ec2-controlling-instances

Note from the Author or Editor:
Error is on page 180 of the printed book. The suggested text, "terminated (48): no longer running" is correct.

Anonymous  Sep 09, 2008 
Printed
Page 1
book spine

typo in the book title:
Servcies -> Services

Anonymous   
Printed
Page 5
Bullet points

the url's are wrong. You need to remove the www from the start of the url
i.e. http://www.ams.amazon.com should be http://ams.amazon.com

Note from the Author or Editor:
Remove the string "www." from six URLs included on page 5. There is one incorrect URL in the first line of the second paragraph, and five incorrect URLs in the dot-points of paragraph 4.

For example, in the first dot point that ends with the link "http://www.aws.amazon.com/s3", the link should become "http://aws.amazon.com/s3".

Anonymous   
Printed
Page 42
In code sample

To allow unicode (UTF-8) text to be uploaded to a service's Query interface with a POST request, the
request's Content-Type header must be explicitly set to support the UTF-8 charset:

Content-Type: application/x-www-form-urlencoded; charset=utf-8

If the UTF-8 character set is not specified, upload of unicode text will fail with signature mismatch
errors. By default, POST requests will not include the correct charset encoding value.

This header has been added to the sample implementations in the book's downloadable code archive.

Anonymous   
Printed
Page 47
Near end of code example

The AWS#debug_response method example includes an integer argument (2) when printing out XML responses:

REXML::Document.new(response.body).write($stdout, 2)

Including this argument can cause errors in some versions of Ruby, the solution is to remove the integer argument like so:

REXML::Document.new(response.body).write($stdout)

This change has been made in the downloadable example code

Anonymous   
Printed
Page 343
2nd paragraph

spelling mistake MutliCommandService -> MultiCommandService

Note from the Author or Editor:
In the second line of the first paragraph of section titled "Managing a Pool of MultiCommandService Instances" on page 343, change the text:

"... application based on MutliCommandService components."

To:

"... application based on MultiCommandService components."

Anonymous