Есть ли способ получить только капли, не имеющие метаданных?
Это невозможно. Azure Хранилище BLOB-объектов не имеет возможности фильтрации метаданных на стороне сервера. Фактически, единственное, что вы можете выполнить на стороне сервера, - это префикс имени большого двоичного объекта. Что вам нужно сделать (и это то, что вы уже делаете), так это перечислить все капли, а затем отфильтровать их без метаданных в коде функции.
var response = await container.ListBlobsSegmentedAsync(prefix, true, BlobListingDetails.None, 200, continuationToken, null, null); continuationToken = response.ContinuationToken;
Я заметил, что в приведенном выше коде вы получаете только 200 капель за раз. Это не очень эффективно. В одном запросе к Azure хранилищу BLOB-объектов вы можете попросить службу хранилища вернуть не более 5000 BLOB-объектов. Если вы измените это значение с 200 на 5000, то количество запросов, которые вы будете делать в хранилище, значительно уменьшится, и есть вероятность, что вы сможете получить все капли до истечения времени ожидания функции.