Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Microsoft Windows Azure Development Cookbook
Microsoft Windows Azure Development Cookbook

Microsoft Windows Azure Development Cookbook: Realize the full potential of Windows Azure with this superb Cookbook that has over 80 recipes for building advanced, scalable cloud-based services. Simply pick the solutions you need to answer your requirements immediately.

eBook
R$80 R$245.99
Paperback
R$306.99
Subscription
Free Trial
Renews at R$50p/m

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Table of content icon View table of contents Preview book icon Preview Book

Microsoft Windows Azure Development Cookbook

Chapter 2. Handling Blobs in Windows Azure

In this chapter, we will cover:

  • Setting properties and metadata for a blob

  • Using blob directories

  • Creating and using a blob snapshot

  • Creating and using the root container for blobs

  • Uploading blocks to a block blob

  • Uploading a VHD into a page blob

  • Downloading a blob asynchronously

  • Optimizing blob uploads and downloads

  • Using retry policies with blob operations

  • Copying a blob with the Windows Azure Storage Service REST API

  • Leasing a blob using the Protocol classes in the Windows Azure Storage Client Library

  • Using the Windows Azure Content-Delivery Network (CDN)

Introduction


The Windows Azure Blob Service is the Windows Azure Storage Service feature that manages the storage of file-based entities referred to as blobs. In this chapter, we will focus on the Blob service. In the next two chapters, we will look at the other storage services: the Table service and the Queue service.

The definitive way to access the storage service is through the Windows Azure Storage Service REST API. The Windows Azure Storage Client library is a high-level managed library, included in the Windows Azure SDK, which abstracts the RESTful interface into a set of classes. The Windows Azure Storage Client Protocol classes contained in the Storage Client library expose functionality not provided in the core library classes. Specifically, the protocol classes provide access to the underlying HttpWebRequest object used to invoke the RESTful operations.

Nearly all the recipes in this chapter use the Storage Client library. Scattered through the recipes are examples of how to use...

Setting properties and metadata for a blob


The Windows Azure Blob Service allows metadata and properties to be associated with a blob. The metadata comprises a sequence of developer-defined, name-value pairs. The properties comprise HTTP request headers including: Cache-Control, Content-Encoding, Content-MD5, and Content-Type. The Blob service also supports metadata and properties for blob containers. Requesting a download of the blob attributes—its metadata and properties—is an efficient way of checking blob existence as only a small amount of data is downloaded.

The Blob service uses the Content-MD5 property to validate blob upload. When specified, the Content-MD5 property must be set to the base64-encoded value of the MD5 hash of the blob data. The Blob service returns an error if this value does not match the value it calculates from the uploaded blob content.

In this recipe, we will learn how to set and get blob properties and metadata. We will also learn how to calculate the Content...

Using blob directories


The Windows Azure Blob Service uses a simple organizational structure for containers and blobs. A storage account has zero or more containers each of which contains zero or more blobs. Containers contain only blobs and may not contain other containers. There is no hierarchy for containers.

The Windows Azure Storage Service REST API provides support for a simulation of a hierarchical directory structure through an ability to parse blob names containing a special delimiter character and navigate the list of blobs while taking account of that delimiter. This delimiter is the forward-slash symbol (/). The Windows Azure Storage Client library exposes this feature through the CloudBlobDirectory class.

The CloudBlobDirectory class provides methods allowing blobs to be enumerated in a way that takes account of the directory structure built into the naming convention used. A blob name can include multiple levels of directory.

A CloudBlobDirectory object can be created using either...

Creating and using a blob snapshot


The Windows Azure Blob Service supports the creation of read-only snapshots of a blob. A storage account is billed only for those blocks and pages in a snapshot that differ from those in the underlying blob. A blob snapshot is useful in providing a backup for a blob as it can be used to reset the blob to an earlier state. Indeed, multiple snapshots can be made over time allowing a historic record to be kept of changes to a blob.

An important use case for blob snapshots is provided by the Azure Drive feature. An Azure Drive is a page blob comprising an NTFS-formatted VHD that can be attached to a hosted service role instance and accessed as an NTFS drive. To avoid read-write conflicts, a single VHD page blob can be attached to only one instance at a time. However, a blob snapshot is read-only, allowing no possibility of write contention, so an arbitrary number of instances can attach a VHD snapshot simultaneously.

A blob snapshot is created using the CloudBlob...

Creating and using the root container for blobs


The Windows Azure Blob Service supports a simple two-level hierarchy for blobs. There is a single level of containers, each of which may contain zero or more blobs. Containers may not contain other containers.

In the Blob service, a blob resource is addressed as follows:

http://{account}.blob.core.windows.net/{container}/{blob}

{account}, {container}, and {blob} represent the name of the storage account, container, and blob.

This addressing convention works for most uses of blobs. However, when using Silverlight the runtime requires that a cross-domain policy file reside at the root of the domain and not beneath a container, as would be the case with the standard addressing for blobs. The cross-domain policy file allows a web client to access data from more than one domain at a time. (http://msdn.microsoft.com/en-us/library/cc197955(VS.95).aspx) Microsoft added support for a root container, named $root, to the Blob service, so that it could...

Uploading blocks to a block blob


The Windows Azure Blob Service supports two types of blobs: block blobs optimized for streaming, and page blobs optimized for random access. Block blobs are so named because they comprise blocks and can be updated by either replacing the entire blob or by replacing individual blocks. Page blobs can be updated by either replacing the entire blob or by modifying individual pages.

A block blob can be up to 200 GB, and comprises blocks that can be up to 4 MB. Block blobs larger than 64 MB must be uploaded in blocks and then a list of uploaded blocks must be committed to create the blob. The various upload methods in the CloudBlob class handle this two-phase process automatically. However, there are times when it is worthwhile taking direct control of the block upload and commit process. These include: uploading very large blobs, performing parallel uploads of blocks, or updating individual blocks.

At any given time, a block blob can comprise a set of committed...

Uploading a VHD into a page blob


An instance of a Windows Azure role comprises several virtual disks (VHD) deployed into a virtual machine. One VHD contains the Guest OS; another contains the role package, while the third is a writable VHD containing the local resources of the instance.

Windows Azure provides the Azure Drive feature whereby an arbitrary VHD, contained in a page blob, can be attached to an instance and then accessed as an NTFS drive. This VHD must be an NTFS-formatted, fixed-size VHD. The VHD can be created directly as a page blob or uploaded like any other page blob.

The Disk Management snap-in for the Microsoft Management Console (MMC) can be used to create and format a VHD on a local system. Once attached to the local system, files can be copied to, or created on the file system of the VHD just as they can with any hard drive. The VHD can then be detached from the local system and uploaded as a page blob to the Windows Azure Blob Service.

A page blob, which may have a maximum...

Downloading a blob asynchronously


The Windows Azure Storage Client library provides synchronous and asynchronous versions of nearly all the methods that access the Windows Azure Storage Service.

The asynchronous methods follow the common language runtime (CLR) Asynchronous Programming Model (APM). In this model, asynchronous methods for an action are defined as a pair named BeginAction and EndAction. The asynchronous operation is initiated through a call to BeginAction and is cleaned up by a call to EndAction. BeginAction has a parameter that is a callback delegate and EndAction must be invoked in that delegate.

This apparent complexity can be greatly simplified through the use of a lambda expression to represent the callback delegate. Furthermore, local variables defined in the method containing the lambda expression are available inside the lambda expression. This removes any difficulty caused by a need to pass variables into the delegate. Using a lambda expression, instead of a callback...

Optimizing blob uploads and downloads


Large blobs need to be uploaded to the Windows Azure Blob Service, either in blocks for block blobs or in pages for page blobs. Similarly, blobs can be downloaded in byte ranges. These operations can be implemented in parallel using different threads to upload or download different parts of the blob.

The Blob service has a scalability target for throughput of about 60 MB per second for an individual blob. This creates a limit to how much performance improvement can be achieved through parallelizing operations on a blob. When contemplating parallelization, it is always worth testing the actual workload to ensure that any expected performance gain is in fact realized.

.NET Framework 4 includes the Parallel Extensions to .NET that simplifies the task of parallelizing operations. These provide parallel versions of the traditional for and foreach statements. The Parallel.For and Parallel.ForEach methods can be dropped in almost as replacements for for and foreach...

Using retry policies with blob operations


A storage operation accessing the Windows Azure Storage Service can fail in various ways. For example, there could be an unexpected timeout if the storage service is moving a partition for performance reasons. It is advisable, therefore, to code defensively in the assumption that failure could occur unexpectedly.

The Windows Azure Storage Client library supports defensive coding by providing a retry policy for operations to the storage service. This is done by default, but the retry policy classes support parameterization and customization of the process.

CloudBlobClient has a RetryPolicy property. A storage operation on a CloudBlob object has a retry policy associated with it through the RetryPolicy property of its BlobRequestOptions parameter. These RetryPolicy properties provide access to a RetryPolicy delegate that returns a ShouldRetry delegate which specifies whether or not a retry should be attempted.

The RetryPolicies class provides several...

Copying a blob with the Windows Azure Storage Service REST API


RESTful APIs have become a common way to expose services to the Internet since Roy Fielding first described them in his Ph.D. thesis (http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm). The basic idea is that a service exposes resources that can be accessed through a small set of operations. The only operations allowed are those named for and which behave like the HTTP verbs—DELETE, GET, HEAD, MERGE, POST, and PUT. Although this appears to be very simplistic, RESTful interfaces have proven to be very powerful in practice.

An immediate benefit of a RESTful interface is cross-platform support as regardless of platform an application capable of issuing HTTP requests can invoke RESTful operations. The Windows Azure Platform exposes almost all its functionality exclusively through a RESTful interface, so that it can be accessed from any platform.

In particular, the Windows Azure Storage Service REST API provides the definitive...

Leasing a blob using the Protocol classes in the Windows Azure Storage Client Library


The Windows Azure Storage Service REST API provides the definitive way to access the Windows Azure Storage Service. It provides platform independence for the storage service allowing it to be accessed from any platform capable of using a RESTful interface.

Microsoft also provides the Windows Azure Storage Client Library that simplifies access to the storage service from a managed .NET environment. The high-level classes in this library are in the Microsoft.WindowsAzure.StorageClient namespace. These classes hide from the complexity of dealing with the raw HttpWebRequest and HttpWebResponse classes used with the Storage Service REST API. However, this simplicity comes at the cost of hiding some features of the storage service.

The Storage Client library also provides a set of lower-level managed classes in the Microsoft.WindowsAzure.StorageClient.Protocol namespace that expose the HttpWebRequest and HttpWebResponse...

Using the Windows Azure Content-Delivery Network (CDN)


The Windows Azure Blob Service is hosted in a small number of Windows Azure datacenters worldwide. The Windows Azure Content-Delivery Network (CDN) is a service that enhances end user experience by caching blobs in more than 20 strategic locations across the World.

After the CDN is enabled for a storage account, a CDN endpoint can be used, instead of the storage-account endpoint, to access a cached version of publicly accessible blobs in the storage account. The CDN endpoint is location aware, and a request to the CDN endpoint is directed automatically to the closest CDN location. If the blob is not currently cached there, then the CDN retrieves the blob from the Blob service endpoint and caches it before satisfying the request.

The cache-control property of the blob can be used to specify a time-to-live in the cache. Otherwise, the CDN uses a heuristic based on how old the blob is and caches the blob, for the shorter of 72 hours or 20...

Left arrow icon Right arrow icon

Key benefits

  • Packed with practical, hands-on cookbook recipes for building advanced, scalable cloud-based services on the Windows Azure platform explained in detail to maximize your learning
  • Extensive code samples showing how to use advanced features of Windows Azure blobs, tables and queues.
  • Understand remote management of Azure services using the Windows Azure Service Management REST API
  • Delve deep into Windows Azure Diagnostics
  • Master the Windows Azure AppFabric Service Bus and Access Control Service

Description

The Windows Azure platform is Microsoft's Platform-as-a-Service environment for hosting services and data in the cloud. It provides developers with on-demand computing, storage, and service connectivity capabilities that facilitate the hosting of highly scalable services in Windows Azure datacenters across the globe. This practical cookbook will show you advanced development techniques for building highly scalable cloud-based services using the Windows Azure platform. It contains over 80 practical, task-based, and immediately usable recipes covering a wide range of advanced development techniques for building highly scalable services to solve particular problems/scenarios when developing these services on the Windows Azure platform. Packed with reusable, real-world recipes, the book starts by explaining the various access control mechanisms used in the Windows Azure platform. Next you will see the advanced features of Windows Azure Blob storage, Windows Azure Table storage, and Windows Azure Queues. The book then dives deep into topics such as developing Windows Azure hosted services, using Windows Azure Diagnostics, managing hosted services with the Service Management API, using SQL Azure and the Windows Azure AppFabric Service Bus. You will see how to use several of the latest features such as VM roles, Windows Azure Connect, startup tasks, and the Windows Azure AppFabric Caching Service.

Who is this book for?

If you are an experienced Windows Azure developer or architect who wants to understand advanced development techniques when building highly scalable services using the Windows Azure platform, then this book is for you. You should have some exposure to Windows Azure and need basic understanding of Visual Studio, C#, SQL, .NET development, XML, and Web development concepts (HTTP, Services).

What you will learn

  • Develop highly scalable services for Windows Azure
  • Handle authentication and authorization in the Windows Azure platform
  • Use advanced features of the Windows Azure Storage Services: blobs, tables, and queues
  • Attach Azure Drives to a role instance
  • Diagnose problems using Windows Azure Diagnostics
  • Perform remote management of Azure services with the Windows Azure Service Management REST API
  • Expose services through the Windows Azure AppFabric Service Bus
  • Learn how to autoscale a Windows Azure hosted service
  • Use cloud-based databases with SQL Azure
  • Improve service performance with the Windows Azure AppFabric Caching Service
  • Understand the latest features ‚Äì including VM roles, Windows Azure Connect and startup tasks
Estimated delivery fee Deliver to Brazil

Standard delivery 10 - 13 business days

R$63.95

Premium delivery 3 - 6 business days

R$203.95
(Includes tracking information)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Aug 05, 2011
Length: 392 pages
Edition : 1st
Language : English
ISBN-13 : 9781849682220
Vendor :
Microsoft
Languages :
Tools :

What do you get with Print?

Product feature icon Instant access to your digital copy whilst your Print order is Shipped
Product feature icon Paperback book shipped to your preferred address
Product feature icon Redeem a companion digital copy on all Print orders
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
OR
Modal Close icon
Payment Processing...
tick Completed

Shipping Address

Billing Address

Shipping Methods
Estimated delivery fee Deliver to Brazil

Standard delivery 10 - 13 business days

R$63.95

Premium delivery 3 - 6 business days

R$203.95
(Includes tracking information)

Product Details

Publication date : Aug 05, 2011
Length: 392 pages
Edition : 1st
Language : English
ISBN-13 : 9781849682220
Vendor :
Microsoft
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
R$50 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
R$500 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts
R$800 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just R$25 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total R$ 852.97
Microsoft Azure: Enterprise Application Development
R$272.99
Windows Azure programming patterns for Start-ups
R$272.99
Microsoft Windows Azure Development Cookbook
R$306.99
Total R$ 852.97 Stars icon

Table of Contents

9 Chapters
Controlling Access in the Windows Azure Platform Chevron down icon Chevron up icon
Handling Blobs in Windows Azure Chevron down icon Chevron up icon
Going NoSQL with Windows Azure Tables Chevron down icon Chevron up icon
Disconnecting with Windows Azure Queues Chevron down icon Chevron up icon
Developing Hosted Services for Windows Azure Chevron down icon Chevron up icon
Digging into Windows Azure Diagnostics Chevron down icon Chevron up icon
Managing Hosted Services with the Service Management API Chevron down icon Chevron up icon
Using SQL Azure Chevron down icon Chevron up icon
Looking at the Windows Azure AppFabric Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
(9 Ratings)
5 star 66.7%
4 star 11.1%
3 star 0%
2 star 0%
1 star 22.2%
Filter icon Filter
Top Reviews

Filter reviews by




Adwait Ullal Feb 10, 2012
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book skips the introductory (and educational) aspects of Azure so the assumption is that the reader is familiar (or has worked) with Azure. If you're at that stage, you'll find the book very handy for solving specific issues that you may encounter during an Azure project.The topics that the author has covered are:Chapter 1, Controlling Access in the Windows Azure Platform.Chapter 2, Handling Blobs in Windows Azure.Chapter 3, Going NoSQL with Windows Azure Tables.Chapter 4, Disconnecting with Windows Azure Queues.Chapter 5, Developing Hosted Services for Windows Azure.Chapter 6, Digging into Windows Azure Diagnostics.Chapter 7, Managing Hosted Services with the Service Management API.Chapter 8, Using SQL Azure.Chapter 9, Looking at the Windows Azure AppFabric.Each chapter then has recipes for specific tasks that one may need. Each recipe starts with a task, a description of the task and how to complete that task. If any preparation needs to be done, the author lists it a "Getting Ready" section. Then, an "How to do it..." section goes into detail explaining how to complete the task with code. Lastly, each recipe ends with an "How it works..." section where the author explains how the code seen in the previous section works.A warning to the reader: some of the recipes are not task oriented but will help you make architectural decisions, which I found was a pleasant surprise.In summary, this book is for an intermediate or advanced Azure developer/Architect who is in need of immediate help with a particular issue s/he might be facing in a project.
Amazon Verified review Amazon
Pat Tormey Dec 16, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Neil's "Cookbook" is a well-organized list of functional tasks, organized around the specific pillars of Azure; each task can be applied independently.Every recipe clearly states "How to Do It" and "How it Works".Wish I'd read this last week.The samples are clear and concise, without sacrificing important concepts. IF I had read his recipe for dealing with the counter intuitive "Append anti-pattern" I could have saved myself a couple of days of experimentation and head scratching.Thanks Neil
Amazon Verified review Amazon
Jeffo Aug 15, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Given the complexities of Windows Azure, it's very effective when climbing up the learning curve to have a practical reference that helps you code on a variety of topics that span most of the relevant aspects of the subject. This is such a reference.I like the format of each recipe - an introduction to the topic, including explanations for why Azure is architected the way it is and what the various elements of each topic (e.g. associated classes and methods) do within the Azure architecture, then a "How to do it..." section with specific coding steps to generate the code that's included in the accompanying set of Visual Studio solutions, followed by a "How it works..." section that summarizes the coding steps and includes additional explanations and "gotchas".Different recipes build on one another. For example, there is a recipe for using Azure Drives (virtual hard drives mounted as blobs) in the cloud, and the author concludes that recipe by pointing out the differences between using them in the cloud versus in the development environment (locally, before deployment to the cloud). The following recipe then describes simulating Azure Drives in the development environment.I also appreciate that the author is not at all "chatty". This I've come to expect with "recipe" books, as I refer to them when I need to learn something very specific, usually in the middle of a project. The author holds very true to this format.I was a bit surprised to find that some of the recipes are not coding exercises at all, but rather advice in making certain solution architecture or pattern choices. For example, there is a recipe on how to choose the best Azure storage type for a hosted service. The recipe follows the same format as other recipes but replaces the detailed coding instructions with simple statements about why to choose each storage type. Nevertheless, the format works: the information is provided in a logical and concise manner, and I found myself referring back to the storage choice recipe a number of times as I was trying to decide on the storage layout for one of my simple solutions.One nice feature of the eBook is that pages referenced in the Index are hyperlinked so that you can look up topics or class names and go directly to the page where they are discussed.Overall, this is a very comprehensive reference that is easy to navigate and addresses each topic with an appropriate level of detail.
Amazon Verified review Amazon
Evelio Alonso Fuentes Aug 11, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book starts directly by hitting on the major areas of Microsoft Windows Azure Development that any developer should understand real well to make good use of this platform. Topics like Controlling Access, Blobs, Azure Tables, Azure Queues, Azure Diagnostics and more are discussed in detail. Not only how to use these things, but in which scenarios would you want to utilize each.One more thing I would like to mention is the inclusion of exercises in this book - a great idea in my mind for folks who learn by sample (like myself).My recommendation: Buy it for yourself. It's worth the price!
Amazon Verified review Amazon
NithyananthaBabu Sep 12, 2011
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Awesome Coding Steps!Every Steps will introduce different Approach of doing same thing. This will teach you the way of coding... Excellent explanation about Azure Storage and Access Control. I am in the middle of book. I am working for cloud more that 2 years. Now working as Architect in the field of Distributing computations. Full rank to authors.Who wants the guide for the developing windows azure apps as Web or WCF or Worker roles.. This is the highly recommended books.. Excellent.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is the digital copy I get with my Print order? Chevron down icon Chevron up icon

When you buy any Print edition of our Books, you can redeem (for free) the eBook edition of the Print Book you’ve purchased. This gives you instant access to your book when you make an order via PDF, EPUB or our online Reader experience.

What is the delivery time and cost of print book? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela
What is custom duty/charge? Chevron down icon Chevron up icon

Customs duty are charges levied on goods when they cross international borders. It is a tax that is imposed on imported goods. These duties are charged by special authorities and bodies created by local governments and are meant to protect local industries, economies, and businesses.

Do I have to pay customs charges for the print book order? Chevron down icon Chevron up icon

The orders shipped to the countries that are listed under EU27 will not bear custom charges. They are paid by Packt as part of the order.

List of EU27 countries: www.gov.uk/eu-eea:

A custom duty or localized taxes may be applicable on the shipment and would be charged by the recipient country outside of the EU27 which should be paid by the customer and these duties are not included in the shipping charges been charged on the order.

How do I know my custom duty charges? Chevron down icon Chevron up icon

The amount of duty payable varies greatly depending on the imported goods, the country of origin and several other factors like the total invoice amount or dimensions like weight, and other such criteria applicable in your country.

For example:

  • If you live in Mexico, and the declared value of your ordered items is over $ 50, for you to receive a package, you will have to pay additional import tax of 19% which will be $ 9.50 to the courier service.
  • Whereas if you live in Turkey, and the declared value of your ordered items is over € 22, for you to receive a package, you will have to pay additional import tax of 18% which will be € 3.96 to the courier service.
How can I cancel my order? Chevron down icon Chevron up icon

Cancellation Policy for Published Printed Books:

You can cancel any order within 1 hour of placing the order. Simply contact customercare@packt.com with your order details or payment transaction id. If your order has already started the shipment process, we will do our best to stop it. However, if it is already on the way to you then when you receive it, you can contact us at customercare@packt.com using the returns and refund process.

Please understand that Packt Publishing cannot provide refunds or cancel any order except for the cases described in our Return Policy (i.e. Packt Publishing agrees to replace your printed book because it arrives damaged or material defect in book), Packt Publishing will not accept returns.

What is your returns and refunds policy? Chevron down icon Chevron up icon

Return Policy:

We want you to be happy with your purchase from Packtpub.com. We will not hassle you with returning print books to us. If the print book you receive from us is incorrect, damaged, doesn't work or is unacceptably late, please contact Customer Relations Team on customercare@packt.com with the order number and issue details as explained below:

  1. If you ordered (eBook, Video or Print Book) incorrectly or accidentally, please contact Customer Relations Team on customercare@packt.com within one hour of placing the order and we will replace/refund you the item cost.
  2. Sadly, if your eBook or Video file is faulty or a fault occurs during the eBook or Video being made available to you, i.e. during download then you should contact Customer Relations Team within 14 days of purchase on customercare@packt.com who will be able to resolve this issue for you.
  3. You will have a choice of replacement or refund of the problem items.(damaged, defective or incorrect)
  4. Once Customer Care Team confirms that you will be refunded, you should receive the refund within 10 to 12 working days.
  5. If you are only requesting a refund of one book from a multiple order, then we will refund you the appropriate single item.
  6. Where the items were shipped under a free shipping offer, there will be no shipping costs to refund.

On the off chance your printed book arrives damaged, with book material defect, contact our Customer Relation Team on customercare@packt.com within 14 days of receipt of the book with appropriate evidence of damage and we will work with you to secure a replacement copy, if necessary. Please note that each printed book you order from us is individually made by Packt's professional book-printing partner which is on a print-on-demand basis.

What tax is charged? Chevron down icon Chevron up icon

Currently, no tax is charged on the purchase of any print book (subject to change based on the laws and regulations). A localized VAT fee is charged only to our European and UK customers on eBooks, Video and subscriptions that they buy. GST is charged to Indian customers for eBooks and video purchases.

What payment methods can I use? Chevron down icon Chevron up icon

You can pay with the following card types:

  1. Visa Debit
  2. Visa Credit
  3. MasterCard
  4. PayPal
What is the delivery time and cost of print books? Chevron down icon Chevron up icon

Shipping Details

USA:

'

Economy: Delivery to most addresses in the US within 10-15 business days

Premium: Trackable Delivery to most addresses in the US within 3-8 business days

UK:

Economy: Delivery to most addresses in the U.K. within 7-9 business days.
Shipments are not trackable

Premium: Trackable delivery to most addresses in the U.K. within 3-4 business days!
Add one extra business day for deliveries to Northern Ireland and Scottish Highlands and islands

EU:

Premium: Trackable delivery to most EU destinations within 4-9 business days.

Australia:

Economy: Can deliver to P. O. Boxes and private residences.
Trackable service with delivery to addresses in Australia only.
Delivery time ranges from 7-9 business days for VIC and 8-10 business days for Interstate metro
Delivery time is up to 15 business days for remote areas of WA, NT & QLD.

Premium: Delivery to addresses in Australia only
Trackable delivery to most P. O. Boxes and private residences in Australia within 4-5 days based on the distance to a destination following dispatch.

India:

Premium: Delivery to most Indian addresses within 5-6 business days

Rest of the World:

Premium: Countries in the American continent: Trackable delivery to most countries within 4-7 business days

Asia:

Premium: Delivery to most Asian addresses within 5-9 business days

Disclaimer:
All orders received before 5 PM U.K time would start printing from the next business day. So the estimated delivery times start from the next day as well. Orders received after 5 PM U.K time (in our internal systems) on a business day or anytime on the weekend will begin printing the second to next business day. For example, an order placed at 11 AM today will begin printing tomorrow, whereas an order placed at 9 PM tonight will begin printing the day after tomorrow.


Unfortunately, due to several restrictions, we are unable to ship to the following countries:

  1. Afghanistan
  2. American Samoa
  3. Belarus
  4. Brunei Darussalam
  5. Central African Republic
  6. The Democratic Republic of Congo
  7. Eritrea
  8. Guinea-bissau
  9. Iran
  10. Lebanon
  11. Libiya Arab Jamahriya
  12. Somalia
  13. Sudan
  14. Russian Federation
  15. Syrian Arab Republic
  16. Ukraine
  17. Venezuela