Skip to content

Commit 187173a

Browse files
committed
incorp feedback
1 parent e910492 commit 187173a

11 files changed

+47
-31
lines changed

.openpublishing.redirection.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24583,7 +24583,7 @@
2458324583
},
2458424584
{
2458524585
"source_path": "articles/storage/common/storage-performance-checklist.md",
24586-
"redirect_url": "/azure/storage/blobs/storage-performance-checklist-blobs",
24586+
"redirect_url": "/azure/storage/blobs/storage-performance-checklist",
2458724587
"redirect_document_id": true
2458824588
},
2458924589
{

articles/batch/batch-task-output-file-conventions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,12 @@ To persist output data to Azure Storage using the File Conventions library, you
5959

6060
## Persist output data
6161

62-
To persist job and task output data with the File Conventions library, create a container in Azure Storage, then save the output to the container. Use the [Azure Storage client library for .NET](https://www.nuget.org/packages/WindowsAzure.Storage) in your task code to upload the task output to the container.
62+
To persist job and task output data with the File Conventions library, create a container in Azure Storage, then save the output to the container. Use the [Azure Storage client library for .NET](https://www.nuget.org/packages/WindowsAzure.Storage) in your task code to upload the task output to the container.
6363

6464
For more information about working with containers and blobs in Azure Storage, see [Get started with Azure Blob storage using .NET](../storage/blobs/storage-dotnet-how-to-use-blobs.md).
6565

6666
> [!WARNING]
67-
> All job and task outputs persisted with the File Conventions library are stored in the same container. If a large number of tasks try to persist files at the same time, Azure Storage throttling limits may be enforced. For more information about throttling limits, see [Performance and scalability checklist for Blob storage](../storage/blobs/storage-performance-checklist-blobs.md).
67+
> All job and task outputs persisted with the File Conventions library are stored in the same container. If a large number of tasks try to persist files at the same time, Azure Storage throttling limits may be enforced. For more information about throttling limits, see [Performance and scalability checklist for Blob storage](../storage/blobs/storage-performance-checklist.md).
6868
6969
### Create storage container
7070

articles/storage/blobs/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@
150150
- name: Scalability and performance targets
151151
href: ../common/storage-scalability-targets.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json
152152
- name: Performance and scalability checklist
153-
href: storage-performance-checklist-blobs.md
153+
href: storage-performance-checklist.md
154154
- name: Latency in Blob storage
155155
href: storage-blobs-latency.md
156156
- name: Concurrency

articles/storage/blobs/storage-blob-scalable-app-upload-files.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ In part two of the series, you learn how to:
2323
2424
Azure blob storage provides a scalable service for storing your data. To ensure your application is as performant as possible, an understanding of how blob storage works is recommended. Knowledge of the limits for Azure blobs is important, to learn more about these limits visit: [blob storage scalability targets](../common/storage-scalability-targets.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json#azure-blob-storage-scale-targets).
2525

26-
[Partition naming](../blobs/storage-performance-checklist-blobs.md#partitioning) is another potentially important factor when designing a high-performance application using blobs. For block sizes greater than or equal to 4 MiB, [High-Throughput block blobs](https://azure.microsoft.com/blog/high-throughput-with-azure-blob-storage/) are used, and partition naming will not impact performance. For block sizes less than 4 MiB, Azure storage uses a range-based partitioning scheme to scale and load balance. This configuration means that files with similar naming conventions or prefixes go to the same partition. This logic includes the name of the container that the files are being uploaded to. In this tutorial, you use files that have GUIDs for names as well as randomly generated content. They are then uploaded to five different containers with random names.
26+
[Partition naming](../blobs/storage-performance-checklist.md#partitioning) is another potentially important factor when designing a high-performance application using blobs. For block sizes greater than or equal to 4 MiB, [High-Throughput block blobs](https://azure.microsoft.com/blog/high-throughput-with-azure-blob-storage/) are used, and partition naming will not impact performance. For block sizes less than 4 MiB, Azure storage uses a range-based partitioning scheme to scale and load balance. This configuration means that files with similar naming conventions or prefixes go to the same partition. This logic includes the name of the container that the files are being uploaded to. In this tutorial, you use files that have GUIDs for names as well as randomly generated content. They are then uploaded to five different containers with random names.
2727

2828
## Prerequisites
2929

articles/storage/blobs/storage-performance-checklist-blobs.md renamed to articles/storage/blobs/storage-performance-checklist.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Azure Storage has scalability and performance targets for capacity, transaction
2121

2222
This article organizes proven practices for performance into a checklist you can follow while developing your Blob storage application.
2323

24-
| Done | Category | Question |
24+
| Done | Category | Design consideration |
2525
| --- | --- | --- |
2626
|   |Scalability Targets |[Can you design your application to use no more than the maximum number of storage accounts?](#maximum-number-of-storage-accounts) |
2727
|   |Scalability Targets |[Are you avoiding approaching capacity and transaction limits?](#capacity-and-transaction-targets) |
@@ -260,12 +260,11 @@ Block blobs are appropriate when you want to upload large amounts of data effici
260260

261261
Append blobs are similar to block blobs in that they are composed of blocks. When you modify an append blob, blocks are added to the end of the blob only. Append blobs are useful for scenarios such as logging, when an application needs to add data to an existing blob.
262262

263-
Page blobs are appropriate if the application needs to perform random writes on the data. For example, Azure virtual machine disks are stored as page blobs.
264-
For more information, see [Understanding block blobs, append blobs, and page blobs](/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs).
263+
Page blobs are appropriate if the application needs to perform random writes on the data. For example, Azure virtual machine disks are stored as page blobs. For more information, see [Understanding block blobs, append blobs, and page blobs](/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs).
265264

266265
## Next steps
267266

268267
- [Azure Storage scalability and performance targets for storage accounts](../common/storage-scalability-targets.md?toc=%2fazure%2fstorage%2fblobs%2ftoc.json)
269-
- [Performance and scalability checklist for Queue storage](../queues/storage-performance-checklist-queues.md)
270-
- [Performance and scalability checklist for Table storage](../tables/storage-performance-checklist-tables.md)
268+
- [Performance and scalability checklist for Queue storage](../queues/storage-performance-checklist.md)
269+
- [Performance and scalability checklist for Table storage](../tables/storage-performance-checklist.md)
271270
- [Status and error codes](/rest/api/storageservices/Status-and-Error-Codes2)

articles/storage/queues/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
- name: Scalability and performance targets
6969
href: ../common/storage-scalability-targets.md?toc=%2fazure%2fstorage%2fqueues%2ftoc.json
7070
- name: Performance and scalability checklist
71-
href: storage-performance-checklist-queues.md
71+
href: storage-performance-checklist.md
7272
- name: Concurrency
7373
href: ../common/storage-concurrency.md?toc=%2fazure%2fstorage%2fqueues%2ftoc.json
7474
- name: Monitor and troubleshoot

articles/storage/queues/storage-java-how-to-use-queue-storage.md

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: How to use Queue storage from Java - Azure Storage
3-
description: Learn how to use the Azure Queue service to create and delete queues, and insert, get, and delete messages. Samples written in Java.
3+
description: Learn how to use Queue storage to create and delete queues, and insert, get, and delete messages with the Azure Storage client library for Java.
44
author: mhopkins-msft
55
ms.service: storage
66

@@ -13,25 +13,28 @@ ms.reviewer: cbrooks
1313
---
1414

1515
# How to use Queue storage from Java
16+
1617
[!INCLUDE [storage-selector-queue-include](../../../includes/storage-selector-queue-include.md)]
1718

1819
[!INCLUDE [storage-check-out-samples-java](../../../includes/storage-check-out-samples-java.md)]
1920

20-
## Overview
2121
This guide will show you how to perform common scenarios using the Azure Queue storage service. The samples are written in Java and use the [Azure Storage SDK for Java][Azure Storage SDK for Java]. The scenarios covered include **inserting**, **peeking**, **getting**, and **deleting** queue messages, as well as **creating** and **deleting** queues. For more information on queues, see the [Next steps](#next-steps) section.
2222

23-
Note: An SDK is available for developers who are using Azure Storage on Android devices. For more information, see the [Azure Storage SDK for Android][Azure Storage SDK for Android].
23+
> [!NOTE]
24+
> An SDK is available for developers who are using Azure Storage on Android devices. For more information, see the [Azure Storage SDK for Android][Azure Storage SDK for Android].
2425
2526
[!INCLUDE [storage-queue-concepts-include](../../../includes/storage-queue-concepts-include.md)]
2627

2728
[!INCLUDE [storage-create-account-include](../../../includes/storage-create-account-include.md)]
2829

2930
## Create a Java application
30-
In this guide, you will use storage features which can be run within a Java application locally, or in code running within a web application in Azure.
3131

32-
To do so, you will need to install the Java Development Kit (JDK) and create an Azure storage account in your Azure subscription. Once you have done so, you will need to verify that your development system meets the minimum requirements and dependencies which are listed in the [Azure Storage SDK for Java][Azure Storage SDK for Java] repository on GitHub. If your system meets those requirements, you can follow the instructions for downloading and installing the Azure Storage Libraries for Java on your system from that repository. Once you have completed those tasks, you will be able to create a Java application which uses the examples in this article.
32+
In this guide, you will use storage features that can be run within a Java application locally, or in code running within a web application in Azure.
33+
34+
To do so, you will need to install the Java Development Kit (JDK) and create an Azure storage account in your Azure subscription. Once you have done so, you will need to verify that your development system meets the minimum requirements and dependencies that are listed in the [Azure Storage SDK for Java][Azure Storage SDK for Java] repository on GitHub. If your system meets those requirements, you can follow the instructions for downloading and installing the Azure Storage Libraries for Java on your system from that repository. Once you have completed those tasks, you will be able to create a Java application that uses the examples in this article.
3335

3436
## Configure your application to access queue storage
37+
3538
Add the following import statements to the top of the Java file where you want to use Azure storage APIs to access queues:
3639

3740
```java
@@ -40,8 +43,9 @@ import com.microsoft.azure.storage.*;
4043
import com.microsoft.azure.storage.queue.*;
4144
```
4245

43-
## Setup an Azure storage connection string
44-
An Azure storage client uses a storage connection string to store endpoints and credentials for accessing data management services. When running in a client application, you must provide the storage connection string in the following format, using the name of your storage account and the Primary access key for the storage account listed in the [Azure Portal](https://portal.azure.com) for the *AccountName* and *AccountKey* values. This example shows how you can declare a static field to hold the connection string:
46+
## Set up an Azure storage connection string
47+
48+
An Azure storage client uses a storage connection string to store endpoints and credentials for accessing data management services. When running in a client application, you must provide the storage connection string in the following format, using the name of your storage account and the Primary access key for the storage account listed in the [Azure portal](https://portal.azure.com) for the *AccountName* and *AccountKey* values. This example shows how you can declare a static field to hold the connection string:
4549

4650
```java
4751
// Define the connection-string with your values.
@@ -90,7 +94,7 @@ catch (Exception e)
9094
```
9195

9296
## How to: Add a message to a queue
93-
To insert a message into an existing queue, first create a new **CloudQueueMessage**. Next, call the **addMessage** method. A **CloudQueueMessage** can be created from either a string (in UTF-8 format) or a byte array. Here is code which creates a queue (if it doesn't exist) and inserts the message "Hello, World".
97+
To insert a message into an existing queue, first create a new **CloudQueueMessage**. Next, call the **addMessage** method. A **CloudQueueMessage** can be created from either a string (in UTF-8 format) or a byte array. Here is code that creates a queue (if it doesn't exist) and inserts the message "Hello, World".
9498

9599
```java
96100
try
@@ -152,7 +156,7 @@ catch (Exception e)
152156
```
153157

154158
## How to: Change the contents of a queued message
155-
You can change the contents of a message in-place in the queue. If the message represents a work task, you could use this feature to update the status of the work task. The following code updates the queue message with new contents, and sets the visibility timeout to extend another 60 seconds. This saves the state of work associated with the message, and gives the client another minute to continue working on the message. You could use this technique to track multi-step workflows on queue messages, without having to start over from the beginning if a processing step fails due to hardware or software failure. Typically, you would keep a retry count as well, and if the message is retried more than *n* times, you would delete it. This protects against a message that triggers an application error each time it is processed.
159+
You can change the contents of a message in-place in the queue. If the message represents a work task, you could use this feature to update the status of the work task. The following code updates the queue message with new contents, and sets the visibility timeout to extend another 60 seconds. Extending the visibility timeout saves the state of work associated with the message, and gives the client another minute to continue working on the message. You could use this technique to track multi-step workflows on queue messages, without having to start over from the beginning if a processing step fails due to hardware or software failure. Typically, you would keep a retry count as well, and if the message is retried more than *n* times, you would delete it. This protects against a message that triggers an application error each time it is processed.
156160

157161
The following code sample searches through the queue of messages, locates the first message that matches "Hello, World" for the content, then modifies the message content and exits.
158162

@@ -301,7 +305,7 @@ catch (Exception e)
301305
## Additional options for dequeuing messages
302306
There are two ways you can customize message retrieval from a queue. First, you can get a batch of messages (up to 32). Second, you can set a longer or shorter invisibility timeout, allowing your code more or less time to fully process each message.
303307

304-
The following code example uses the **retrieveMessages** method to get 20 messages in one call. Then it processes each message using a **for** loop. It also sets the invisibility timeout to five minutes (300 seconds) for each message. Note that the five minutes starts for all messages at the same time, so when five minutes have passed since the call to **retrieveMessages**, any messages which have not been deleted will become visible again.
308+
The following code example uses the **retrieveMessages** method to get 20 messages in one call. Then it processes each message using a **for** loop. It also sets the invisibility timeout to five minutes (300 seconds) for each message. The five minutes start for all messages at the same time, so when five minutes have passed since the call to **retrieveMessages**, any messages that have not been deleted will become visible again.
305309

306310
```java
307311
try

articles/storage/queues/storage-performance-checklist-queues.md renamed to articles/storage/queues/storage-performance-checklist.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Azure Storage has scalability and performance targets for capacity, transaction
2121

2222
This article organizes proven practices for performance into a checklist you can follow while developing your Queue storage application.
2323

24-
| Done | Category | Question |
24+
| Done | Category | Design consideration |
2525
| --- | --- | --- |
2626
|   |Scalability Targets |[Can you design your application to use no more than the maximum number of storage accounts?](#maximum-number-of-storage-accounts) |
2727
|   |Scalability Targets |[Are you avoiding approaching capacity and transaction limits?](#capacity-and-transaction-targets) |
@@ -191,6 +191,6 @@ Use queues to make your application architecture scalable. The following lists s
191191
## Next steps
192192

193193
- [Azure Storage scalability and performance targets for storage accounts](../common/storage-scalability-targets.md?toc=%2fazure%2fstorage%2fqueues%2ftoc.json)
194-
- [Performance and scalability checklist for Blob storage](../blobs/storage-performance-checklist-blobs.md)
195-
- [Performance and scalability checklist for Table storage](../tables/storage-performance-checklist-tables.md)
194+
- [Performance and scalability checklist for Blob storage](../blobs/storage-performance-checklist.md)
195+
- [Performance and scalability checklist for Table storage](../tables/storage-performance-checklist.md)
196196
- [Status and error codes](/rest/api/storageservices/Status-and-Error-Codes2)

0 commit comments

Comments
 (0)