static Map<String, CloudBlobMetadata> getBlobMetadataWithRetry(List<BlobId> blobIds, String partitionPath,
      CloudRequestAgent cloudRequestAgent, AzureCloudDestination azureDest) throws CloudStorageException {
    return cloudRequestAgent.doWithRetries(() -> azureDest.getBlobMetadata(blobIds), "GetBlobMetadata", partitionPath);
  }
Get metadata for blobs. Retry with appropriate throttling if required.
@param blobIds list of blob Ids to query.
@param partitionPath partition of the blobs.
@param cloudRequestAgent {@link CloudRequestAgent} object.
@param azureDest {@link AzureCloudDestination} object.
@return a {@link Map} of blobId strings to {@link CloudBlobMetadata}.  If metadata for a blob could not be found,
it will not be included in the returned map.
@throws CloudStorageException if query encounters an error.
ambry-cloud/src/test/java/com/github/ambry/cloud/azure/AzureTestUtils.java