All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.azure.storage.blob.changefeed.BlobChangefeedAsyncClient Maven / Gradle / Ivy

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.storage.blob.changefeed;

import com.azure.core.annotation.ReturnType;
import com.azure.core.annotation.ServiceClient;
import com.azure.core.annotation.ServiceMethod;

import java.time.OffsetDateTime;

/**
 * This class provides a client that contains all operations that apply to Azure Storage Blob changefeed.
 *
 * @see BlobChangefeedClientBuilder
 */
@ServiceClient(builder = BlobChangefeedClientBuilder.class, isAsync = true)
public class BlobChangefeedAsyncClient {

    final ChangefeedFactory changefeedFactory;

    /**
     * Package-private constructor for use by {@link BlobChangefeedClientBuilder}.
     *
     * @param changefeedFactory The changefeed factory to create the Changefeed from.
     */
    BlobChangefeedAsyncClient(ChangefeedFactory changefeedFactory) {
        this.changefeedFactory = changefeedFactory;
    }

    /**
     * Returns a reactive Publisher emitting all the changefeed events for this account lazily as needed.
     *
     * 

* Changefeed events are returned in approximate temporal order. * *

For more information, see the * Azure Docs. * *

Code Samples

* * *
     * client.getEvents().subscribe(event ->
     *     System.out.printf("Topic: %s, Subject: %s%n", event.getTopic(), event.getSubject()));
     * 
* * * @return A reactive response emitting the changefeed events. */ @ServiceMethod(returns = ReturnType.COLLECTION) public BlobChangefeedPagedFlux getEvents() { return getEvents(null, null); } /** * Returns a reactive Publisher emitting all the changefeed events for this account lazily as needed. * *

* Changefeed events are returned in approximate temporal order. * *

For more information, see the * Azure Docs. * *

Code Samples

* * *
     * OffsetDateTime startTime = OffsetDateTime.MIN;
     * OffsetDateTime endTime = OffsetDateTime.now();
     *
     * client.getEvents(startTime, endTime).subscribe(event ->
     *     System.out.printf("Topic: %s, Subject: %s%n", event.getTopic(), event.getSubject()));
     * 
* * * @param startTime Filters the results to return events approximately after the start time. Note: A few events * belonging to the previous hour can also be returned. A few events belonging to this hour can be missing; to * ensure all events from the hour are returned, round the start time down by an hour. * @param endTime Filters the results to return events approximately before the end time. Note: A few events * belonging to the next hour can also be returned. A few events belonging to this hour can be missing; to ensure * all events from the hour are returned, round the end time up by an hour. * @return A reactive response emitting the changefeed events. */ @ServiceMethod(returns = ReturnType.COLLECTION) public BlobChangefeedPagedFlux getEvents(OffsetDateTime startTime, OffsetDateTime endTime) { return new BlobChangefeedPagedFlux(changefeedFactory, startTime, endTime); } /** * Returns a reactive Publisher emitting all the changefeed events for this account lazily as needed. * *

* Changefeed events are returned in approximate temporal order. * *

For more information, see the * Azure Docs. * *

Code Samples

* * *
     * String cursor = "cursor";
     *
     * client.getEvents(cursor).subscribe(event ->
     *     System.out.printf("Topic: %s, Subject: %s%n", event.getTopic(), event.getSubject()));
     * 
* * * @param cursor Identifies the portion of the events to be returned with the next get operation. Events that * take place after the event identified by the cursor will be returned. * @return A reactive response emitting the changefeed events. */ @ServiceMethod(returns = ReturnType.COLLECTION) public BlobChangefeedPagedFlux getEvents(String cursor) { return new BlobChangefeedPagedFlux(changefeedFactory, cursor); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy