public void WithInstanceNameCorrectlyPassesParameters()
        {
            string myInstance = "myInstance";
            Action <DocumentServiceLeaseStoreManager,
                    CosmosContainer,
                    string,
                    string,
                    ChangeFeedLeaseOptions,
                    ChangeFeedProcessorOptions,
                    CosmosContainer> verifier = (DocumentServiceLeaseStoreManager leaseStoreManager,
                                                 CosmosContainer leaseContainer,
                                                 string leaseContainerPrefix,
                                                 string instanceName,
                                                 ChangeFeedLeaseOptions changeFeedLeaseOptions,
                                                 ChangeFeedProcessorOptions changeFeedProcessorOptions,
                                                 CosmosContainer monitoredContainer) =>
            {
                Assert.AreEqual(myInstance, instanceName);
            };

            ChangeFeedProcessorBuilder builder = new ChangeFeedProcessorBuilder("workflowName",
                                                                                ChangeFeedProcessorBuilderTests.GetMockedContainer(),
                                                                                ChangeFeedProcessorBuilderTests.GetMockedProcessor(),
                                                                                verifier);

            builder.WithInMemoryLeaseContainer();
            builder.WithInstanceName(myInstance);

            builder.Build();
        }
Пример #2
0
        public static async Task Main(string[] args)
        {
            using CosmosClient client = new CosmosClient(endpoint, apikey);
            Database  db             = client.GetDatabase("StoreDB");
            Container container      = db.GetContainer("CartContainer");
            Container leasecontainer = await db.CreateContainerIfNotExistsAsync("Lease", "/id");

            ChangeFeedProcessorBuilder builder = container.GetChangeFeedProcessorBuilder(
                "sampleProcessor",
                async(IReadOnlyCollection <Item> changes, CancellationToken cancellationToken) =>
            {
                await Console.Out.WriteLineAsync("***Changes occured***");
                foreach (Item change in changes)
                {
                    await Console.Out.WriteLineAsync(change.id + " - " + change.location + " - " + change.name);
                }
            });

            ChangeFeedProcessor processor = builder
                                            .WithInstanceName("firstinstance")
                                            .WithLeaseContainer(leasecontainer)
                                            .Build();

            await processor.StartAsync();

            Console.ReadKey();

            await processor.StopAsync();
        }