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 Detail

      • 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/admin#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/admin#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. Note that certain properties of a
         subscription, such as its topic, are not modifiable.
         
      • 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 acknowledgements 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/admin#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. 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.