diff --git a/README.md b/README.md
index a8805eb2e3262..f12d7aa79956f 100644
--- a/README.md
+++ b/README.md
@@ -1,30 +1,41 @@
#Windows Azure SDK for Java
-This SDK allows you to build Windows Azure applications in Java that allow
-you to take advantage of Azure scalable cloud computing resources: table and blob
-storage, messaging through Service Bus.
-
-For documentation please see the [Windows Azure Java Developer Center](http://www.windowsazure.com/en-us/develop/java/)
+This project provides a client library in Java that makes it easy to consume Windows Azure services. For documentation please see the [Windows Azure Java Developer Center](http://www.windowsazure.com/en-us/develop/java/).
#Features
-* Blob
- * Create/Read/Update/Delete Blobs
-* Queue
- * Create/Delete Queues
- * Insert/Peek Queue Messages
- * Advanced Queue Operations
-* Media Services
- * Upload Media Files to Media Services
- * Change the encoding on uploaded Media Services
- * Provide streaming or download access to uploaded/transformed Media Files
+
+* Storage
+ * Blob
+ * Create/Read/Update/Delete containers
+ * Create/Read/Update/Delete blobs
+ * Queue
+ * Create/Delete Queues
+ * Insert/Peek Queue Messages
+ * Advanced Queue Operations
+ * Table
+ * Create/Read/Update/Delete tables
+ * Create/Read/Update/Delete entities
+ * Batch operation
* Service Bus
- * Use either the Queue or Topic/Subscription Model
+ * Queues
+ * Create/Read/Update/Delete queues
+ * Send/Receive/Unlock/Delete messages
+ * Renew message lock
+ * Topics
+ * Create/Read/Update/Delete topics
+ * Create/Read/Update/Delete subscriptions
+ * Create/Read/Update/Delete rules
+ * Send/Receive/Unlock/Delete messages
+ * Renew message lock
+* Media Services
+ * Create/Read/Update/Delete access policies
+ * Create/Read/Update/Delete asset files
+ * Create/Read/Update/Delete assets
+ * Create/Read/Update/Delete/Rebind content keys
+ * Create/Read/Update/Cancel/Delete jobs
* Service Runtime
- * Retrieve information about the state of your Azure Compute instances
-* Table
- * Manage Tables
- * Table Entity Operations
- * Entity Group Transactions (Batch)
+ * Retrieve information about the state of your Azure Compute instances
+
#Getting Started
@@ -42,11 +53,13 @@ To get the source code of the SDK via git just type:
To get the binaries of this library as distributed by Microsoft, ready for use
within your project you can also have them installed by the Java package manager Maven.
-
- com.microsoft.windowsazure
- microsoft-windowsazure-api
- 0.4.2
-
+```xml
+
+ com.microsoft.windowsazure
+ microsoft-windowsazure-api
+ 0.4.2
+
+```
##Minimum Requirements
@@ -61,67 +74,62 @@ account. To host your Java code in Windows Azure, you additionally need to down
the full Windows Azure SDK for Java - which includes packaging, emulation, and
deployment tools.
-##Code Samples
+##Code Sample
The following is a quick example on how to set up a Azure blob using the API
and uploading a file to it. For additional information on using the client libraries to access Azure services see the How To guides listed [here](http://www.windowsazure.com/en-us/develop/java/).
+```java
+import java.io.*;
+
+import com.microsoft.windowsazure.services.core.storage.*;
+import com.microsoft.windowsazure.services.blob.client.*;
+
+public class BlobSample {
+ public static final String storageConnectionString =
+ "DefaultEndpointsProtocol=http;"
+ + "AccountName=your_account_name;"
+ + "AccountKey= your_account_key";
+
+ public static void main(String[] args) {
+ try {
+ CloudStorageAccount account;
+ CloudBlobClient serviceClient;
+ CloudBlobContainer container;
+ CloudBlockBlob blob;
+
+ account = CloudStorageAccount.parse(storageConnectionString);
+ serviceClient = account.createCloudBlobClient();
+ // Container name must be lower case.
+ container = serviceClient.getContainerReference("blobsample");
+ container.createIfNotExist();
+
+ // Set anonymous access on the container.
+ BlobContainerPermissions containerPermissions;
+ containerPermissions = new BlobContainerPermissions();
+ container.uploadPermissions(containerPermissions);
+
+ // Upload an image file.
+ blob = container.getBlockBlobReference("image1.jpg");
+ File fileReference = new File("c:\\myimages\\image1.jpg");
+ blob.upload(new FileInputStream(fileReference), fileReference.length());
+ } catch (FileNotFoundException fileNotFoundException) {
+ System.out.print("FileNotFoundException encountered: ");
+ System.out.println(fileNotFoundException.getMessage());
+ System.exit(-1);
+ } catch (StorageException storageException) {
+ System.out.print("StorageException encountered: ");
+ System.out.println(storageException.getMessage());
+ System.exit(-1);
+ } catch (Exception e) {
+ System.out.print("Exception encountered: ");
+ System.out.println(e.getMessage());
+ System.exit(-1);
+ }
- import com.microsoft.windowsazure.services.core.storage.*;
- import com.microsoft.windowsazure.services.blob.client.*;
-
- public class BlobSample {
- public static final String storageConnectionString =
- "DefaultEndpointsProtocol=http;" +
- "AccountName=your_account_name;" +
- "AccountKey= your_account_name";
-
- public static void main(String[] args)
- {
- try
- {
- CloudStorageAccount account;
- CloudBlobClient serviceClient;
- CloudBlobContainer container;
- CloudBlockBlob blob;
-
- account = CloudStorageAccount.parse(storageConnectionString);
- serviceClient = account.createCloudBlobClient();
- // Container name must be lower case.
- container = serviceClient.getContainerReference("blobsample");
- container.createIfNotExist();
-
- // Set anonymous access on the container.
- BlobContainerPermissions containerPermissions;
- containerPermissions = new BlobContainerPermissions();
-
- // Upload an image file.
- blob = container.getBlockBlobReference("image1.jpg");
- File fileReference = new File ("c:\\myimages\\image1.jpg");
- blob.upload(new FileInputStream(fileReference), fileReference.length());
- }
- catch (FileNotFoundException fileNotFoundException)
- {
- System.out.print("FileNotFoundException encountered: ");
- System.out.println(fileNotFoundException.getMessage());
- System.exit(-1);
- }
- catch (StorageException storageException)
- {
- System.out.print("StorageException encountered: ");
- System.out.println(storageException.getMessage());
- System.exit(-1);
- }
- catch (Exception e)
- {
- System.out.print("Exception encountered: ");
- System.out.println(e.getMessage());
- System.exit(-1);
- }
-
- }
}
-
+}
+```
#Need Help?