Interface SubscriberGrpc.AsyncService

All Known Implementing Classes:
SubscriberGrpc.SubscriberImplBase
Enclosing class:
SubscriberGrpc

public static interface SubscriberGrpc.AsyncService
 The service that an application uses to manipulate subscriptions and to
 consume messages from a subscription via the `Pull` method or by
 establishing a bi-directional stream using the `StreamingPull` method.
 
  • Method Details

    • createSubscription

      default void createSubscription(Subscription request, io.grpc.stub.StreamObserver<Subscription> responseObserver)
       Creates a subscription to a given topic. See the [resource name rules]
       (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names).
       If the subscription already exists, returns `ALREADY_EXISTS`.
       If the corresponding topic doesn't exist, returns `NOT_FOUND`.
       If the name is not provided in the request, the server will assign a random
       name for this subscription on the same project as the topic, conforming
       to the [resource name format]
       (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
       generated name is populated in the returned Subscription object. Note that
       for REST API requests, you must specify a name in the request.
       
    • getSubscription

      default void getSubscription(GetSubscriptionRequest request, io.grpc.stub.StreamObserver<Subscription> responseObserver)
       Gets the configuration details of a subscription.
       
    • updateSubscription

      default void updateSubscription(UpdateSubscriptionRequest request, io.grpc.stub.StreamObserver<Subscription> responseObserver)
       Updates an existing subscription by updating the fields specified in the
       update mask. Note that certain properties of a subscription, such as its
       topic, are not modifiable.
       
    • listSubscriptions

      default void listSubscriptions(ListSubscriptionsRequest request, io.grpc.stub.StreamObserver<ListSubscriptionsResponse> responseObserver)
       Lists matching subscriptions.
       
    • deleteSubscription

      default void deleteSubscription(DeleteSubscriptionRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
       Deletes an existing subscription. All messages retained in the subscription
       are immediately dropped. Calls to `Pull` after deletion will return
       `NOT_FOUND`. After a subscription is deleted, a new one may be created with
       the same name, but the new one has no association with the old
       subscription or its topic unless the same topic is specified.
       
    • modifyAckDeadline

      default void modifyAckDeadline(ModifyAckDeadlineRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
       Modifies the ack deadline for a specific message. This method is useful
       to indicate that more time is needed to process a message by the
       subscriber, or to make the message available for redelivery if the
       processing was interrupted. Note that this does not modify the
       subscription-level `ackDeadlineSeconds` used for subsequent messages.
       
    • acknowledge

      default void acknowledge(AcknowledgeRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
       Acknowledges the messages associated with the `ack_ids` in the
       `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages
       from the subscription.
       Acknowledging a message whose ack deadline has expired may succeed,
       but such a message may be redelivered later. Acknowledging a message more
       than once will not result in an error.
       
    • pull

      default void pull(PullRequest request, io.grpc.stub.StreamObserver<PullResponse> responseObserver)
       Pulls messages from the server.
       
    • streamingPull

      default io.grpc.stub.StreamObserver<StreamingPullRequest> streamingPull(io.grpc.stub.StreamObserver<StreamingPullResponse> responseObserver)
       Establishes a stream with the server, which sends messages down to the
       client. The client streams acknowledgments and ack deadline modifications
       back to the server. The server will close the stream and return the status
       on any error. The server may close the stream with status `UNAVAILABLE` to
       reassign server-side resources, in which case, the client should
       re-establish the stream. Flow control can be achieved by configuring the
       underlying RPC channel.
       
    • modifyPushConfig

      default void modifyPushConfig(ModifyPushConfigRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
       Modifies the `PushConfig` for a specified subscription.
       This may be used to change a push subscription to a pull one (signified by
       an empty `PushConfig`) or vice versa, or change the endpoint URL and other
       attributes of a push subscription. Messages will accumulate for delivery
       continuously through the call regardless of changes to the `PushConfig`.
       
    • getSnapshot

      default void getSnapshot(GetSnapshotRequest request, io.grpc.stub.StreamObserver<Snapshot> responseObserver)
       Gets the configuration details of a snapshot. Snapshots are used in
       [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
       which allow you to manage message acknowledgments in bulk. That is, you can
       set the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot.
       
    • listSnapshots

      default void listSnapshots(ListSnapshotsRequest request, io.grpc.stub.StreamObserver<ListSnapshotsResponse> responseObserver)
       Lists the existing snapshots. Snapshots are used in [Seek](
       https://cloud.google.com/pubsub/docs/replay-overview) operations, which
       allow you to manage message acknowledgments in bulk. That is, you can set
       the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot.
       
    • createSnapshot

      default void createSnapshot(CreateSnapshotRequest request, io.grpc.stub.StreamObserver<Snapshot> responseObserver)
       Creates a snapshot from the requested subscription. Snapshots are used in
       [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
       which allow you to manage message acknowledgments in bulk. That is, you can
       set the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot.
       If the snapshot already exists, returns `ALREADY_EXISTS`.
       If the requested subscription doesn't exist, returns `NOT_FOUND`.
       If the backlog in the subscription is too old -- and the resulting snapshot
       would expire in less than 1 hour -- then `FAILED_PRECONDITION` is returned.
       See also the `Snapshot.expire_time` field. If the name is not provided in
       the request, the server will assign a random
       name for this snapshot on the same project as the subscription, conforming
       to the [resource name format]
       (https://cloud.google.com/pubsub/docs/pubsub-basics#resource_names). The
       generated name is populated in the returned Snapshot object. Note that for
       REST API requests, you must specify a name in the request.
       
    • updateSnapshot

      default void updateSnapshot(UpdateSnapshotRequest request, io.grpc.stub.StreamObserver<Snapshot> responseObserver)
       Updates an existing snapshot by updating the fields specified in the update
       mask. Snapshots are used in
       [Seek](https://cloud.google.com/pubsub/docs/replay-overview) operations,
       which allow you to manage message acknowledgments in bulk. That is, you can
       set the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot.
       
    • deleteSnapshot

      default void deleteSnapshot(DeleteSnapshotRequest request, io.grpc.stub.StreamObserver<com.google.protobuf.Empty> responseObserver)
       Removes an existing snapshot. Snapshots are used in [Seek]
       (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
       allow you to manage message acknowledgments in bulk. That is, you can set
       the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot.
       When the snapshot is deleted, all messages retained in the snapshot
       are immediately dropped. After a snapshot is deleted, a new one may be
       created with the same name, but the new one has no association with the old
       snapshot or its subscription, unless the same subscription is specified.
       
    • seek

      default void seek(SeekRequest request, io.grpc.stub.StreamObserver<SeekResponse> responseObserver)
       Seeks an existing subscription to a point in time or to a given snapshot,
       whichever is provided in the request. Snapshots are used in [Seek]
       (https://cloud.google.com/pubsub/docs/replay-overview) operations, which
       allow you to manage message acknowledgments in bulk. That is, you can set
       the acknowledgment state of messages in an existing subscription to the
       state captured by a snapshot. Note that both the subscription and the
       snapshot must be on the same topic.