Я пытаюсь использовать подачу изменения базы данных космоса (я имею в виду https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor и https://github.com/Azure/azure-cosmos-dotnet-v2/tree/master/samples/code-samples/ChangeFeedProcessorV2).
Когда я запускаю несколько экземпляров потребителя, наблюдатель, кажется, видит только 1 диапазон ключей раздела. Я вижу только сообщение - Observer opened for partition Key Range 0
, и оно начинает получать ленту изменений. Таким образом, корм получает только 1 потребитель в любой данный момент. Если я закрою одного потребителя, следующий доведется до счастья.
Кажется, я не могу понять ключи / диапазоны разделов в космосе db. В cosmos db я создал базу данных и коллекцию внутри нее. Я определил ключ раздела - / myId. Я храню уникальный идентификатор в myId. Я сохранил около 10000 транзакций в коллекции.
Когда я смотрю на диапазоны ключей секционирования, используя api (/ dbs / db-name / colls / coll-name / pkranges), я вижу только узел под PartitionKeyRanges. Ниже вывод, который я вижу
{
"_rid": "LEAgAL7tmKM=",
"PartitionKeyRanges": [
{
"_rid": "LEAgAL7tmKMCAAAAAAAAUA==",
"id": "0",
"_etag": "\"00007d00-0000-0000-0000-5c3645e70000\"",
"minInclusive": "",
"maxExclusive": "FF",
"ridPrefix": 0,
"_self": "dbs/LAEgAA==/colls/LEAgAL7tmKM=/pkranges/LEAgAL7tmKMCAAAAAAAAUA==/",
"throughputFraction": 1,
"status": "online",
"parents": [],
"_ts": 1547060711
}
],
"_count": 1
}
Разве это не должно показывать больше диапазонов разделов? Ожидается ли такое поведение?
Как заставить нескольких потребителей получать данные, как показано в https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed-processor?