Class UserEventServiceClient

  • All Implemented Interfaces:
    com.google.api.gax.core.BackgroundResource, AutoCloseable

    @BetaApi
    @Generated("by gapic-generator-java")
    public class UserEventServiceClient
    extends Object
    implements com.google.api.gax.core.BackgroundResource
    Service Description: Service for ingesting end user actions on the customer website.

    This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
       EventStoreName parent =
           EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
       UserEvent userEvent = UserEvent.newBuilder().build();
       UserEvent response = userEventServiceClient.writeUserEvent(parent, userEvent);
     }
     

    Note: close() needs to be called on the UserEventServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

    The surface of this class includes several types of Java methods for each of the API's methods:

    1. A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
    2. A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
    3. A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.

    See the individual methods for example code.

    Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.

    This class can be customized by passing in a custom instance of UserEventServiceSettings to create(). For example:

    To customize credentials:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     UserEventServiceSettings userEventServiceSettings =
         UserEventServiceSettings.newBuilder()
             .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
             .build();
     UserEventServiceClient userEventServiceClient =
         UserEventServiceClient.create(userEventServiceSettings);
     

    To customize the endpoint:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     UserEventServiceSettings userEventServiceSettings =
         UserEventServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
     UserEventServiceClient userEventServiceClient =
         UserEventServiceClient.create(userEventServiceSettings);
     

    To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:

    
     // This snippet has been automatically generated and should be regarded as a code template only.
     // It will require modifications to work:
     // - It may require correct/in-range values for request initialization.
     // - It may require specifying regional endpoints when creating the service client as shown in
     // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
     UserEventServiceSettings userEventServiceSettings =
         UserEventServiceSettings.newHttpJsonBuilder().build();
     UserEventServiceClient userEventServiceClient =
         UserEventServiceClient.create(userEventServiceSettings);
     

    Please refer to the GitHub repository's samples for more quickstart code snippets.

    • Constructor Detail

      • UserEventServiceClient

        protected UserEventServiceClient​(UserEventServiceSettings settings)
                                  throws IOException
        Constructs an instance of UserEventServiceClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
        Throws:
        IOException
    • Method Detail

      • create

        public static final UserEventServiceClient create​(UserEventServiceStub stub)
        Constructs an instance of UserEventServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(UserEventServiceSettings).
      • getOperationsClient

        public final com.google.longrunning.OperationsClient getOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • getHttpJsonOperationsClient

        @BetaApi
        public final com.google.api.gax.httpjson.longrunning.OperationsClient getHttpJsonOperationsClient()
        Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
      • writeUserEvent

        public final UserEvent writeUserEvent​(EventStoreName parent,
                                              UserEvent userEvent)
        Writes a single user event.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           EventStoreName parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
           UserEvent userEvent = UserEvent.newBuilder().build();
           UserEvent response = userEventServiceClient.writeUserEvent(parent, userEvent);
         }
         
        Parameters:
        parent - Required. The parent eventStore resource name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`.
        userEvent - Required. User event to write.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • writeUserEvent

        public final UserEvent writeUserEvent​(String parent,
                                              UserEvent userEvent)
        Writes a single user event.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           String parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]").toString();
           UserEvent userEvent = UserEvent.newBuilder().build();
           UserEvent response = userEventServiceClient.writeUserEvent(parent, userEvent);
         }
         
        Parameters:
        parent - Required. The parent eventStore resource name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`.
        userEvent - Required. User event to write.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • writeUserEvent

        public final UserEvent writeUserEvent​(WriteUserEventRequest request)
        Writes a single user event.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           WriteUserEventRequest request =
               WriteUserEventRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setUserEvent(UserEvent.newBuilder().build())
                   .build();
           UserEvent response = userEventServiceClient.writeUserEvent(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • writeUserEventCallable

        public final com.google.api.gax.rpc.UnaryCallable<WriteUserEventRequest,​UserEvent> writeUserEventCallable()
        Writes a single user event.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           WriteUserEventRequest request =
               WriteUserEventRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setUserEvent(UserEvent.newBuilder().build())
                   .build();
           ApiFuture<UserEvent> future =
               userEventServiceClient.writeUserEventCallable().futureCall(request);
           // Do something.
           UserEvent response = future.get();
         }
         
      • collectUserEvent

        public final com.google.api.HttpBody collectUserEvent​(EventStoreName parent,
                                                              String userEvent,
                                                              String uri,
                                                              long ets)
        Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain.

        This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           EventStoreName parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
           String userEvent = "userEvent315571599";
           String uri = "uri116076";
           long ets = 100772;
           HttpBody response = userEventServiceClient.collectUserEvent(parent, userEvent, uri, ets);
         }
         
        Parameters:
        parent - Required. The parent eventStore name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`.
        userEvent - Required. URL encoded UserEvent proto.
        uri - Optional. The url including cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be under the 2K bytes. This is often more useful than the referer url, because many browsers only send the domain for 3rd party requests.
        ets - Optional. The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • collectUserEvent

        public final com.google.api.HttpBody collectUserEvent​(String parent,
                                                              String userEvent,
                                                              String uri,
                                                              long ets)
        Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain.

        This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           String parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]").toString();
           String userEvent = "userEvent315571599";
           String uri = "uri116076";
           long ets = 100772;
           HttpBody response = userEventServiceClient.collectUserEvent(parent, userEvent, uri, ets);
         }
         
        Parameters:
        parent - Required. The parent eventStore name, such as `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`.
        userEvent - Required. URL encoded UserEvent proto.
        uri - Optional. The url including cgi-parameters but excluding the hash fragment. The URL must be truncated to 1.5K bytes to conservatively be under the 2K bytes. This is often more useful than the referer url, because many browsers only send the domain for 3rd party requests.
        ets - Optional. The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • collectUserEvent

        public final com.google.api.HttpBody collectUserEvent​(CollectUserEventRequest request)
        Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain.

        This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           CollectUserEventRequest request =
               CollectUserEventRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setUserEvent("userEvent315571599")
                   .setUri("uri116076")
                   .setEts(100772)
                   .build();
           HttpBody response = userEventServiceClient.collectUserEvent(request);
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • collectUserEventCallable

        public final com.google.api.gax.rpc.UnaryCallable<CollectUserEventRequest,​com.google.api.HttpBody> collectUserEventCallable()
        Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain.

        This method is used only by the Recommendations AI JavaScript pixel. Users should not call this method directly.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           CollectUserEventRequest request =
               CollectUserEventRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setUserEvent("userEvent315571599")
                   .setUri("uri116076")
                   .setEts(100772)
                   .build();
           ApiFuture<HttpBody> future =
               userEventServiceClient.collectUserEventCallable().futureCall(request);
           // Do something.
           HttpBody response = future.get();
         }
         
      • listUserEvents

        public final UserEventServiceClient.ListUserEventsPagedResponse listUserEvents​(EventStoreName parent,
                                                                                       String filter)
        Gets a list of user events within a time range, with potential filtering.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           EventStoreName parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
           String filter = "filter-1274492040";
           for (UserEvent element : userEventServiceClient.listUserEvents(parent, filter).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The parent eventStore resource name, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`.
        filter - Optional. Filtering expression to specify restrictions over returned events. This is a sequence of terms, where each term applies some kind of a restriction to the returned user events. Use this expression to restrict results to a specific time range, or filter events by eventType. eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems eventTime<"2012-04-23T18:25:43.511Z" eventType=search

        We expect only 3 types of fields:

        * eventTime: this can be specified a maximum of 2 times, once with a less than operator and once with a greater than operator. The eventTime restrict should result in one contiguous valid eventTime range.

        * eventType: only 1 eventType restriction can be specified.

        * eventsMissingCatalogItems: specififying this will restrict results to events for which catalog items were not found in the catalog. The default behavior is to return only those events for which catalog items were found.

        Some examples of valid filters expressions:

        * Example 1: eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" * Example 2: eventTime > "2012-04-23T18:25:43.511Z" eventType = detail-page-view * Example 3: eventsMissingCatalogItems eventType = search eventTime < "2018-04-23T18:30:43.511Z" * Example 4: eventTime > "2012-04-23T18:25:43.511Z" * Example 5: eventType = search * Example 6: eventsMissingCatalogItems

        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listUserEvents

        public final UserEventServiceClient.ListUserEventsPagedResponse listUserEvents​(String parent,
                                                                                       String filter)
        Gets a list of user events within a time range, with potential filtering.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           String parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]").toString();
           String filter = "filter-1274492040";
           for (UserEvent element : userEventServiceClient.listUserEvents(parent, filter).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        parent - Required. The parent eventStore resource name, such as `projects/*/locations/*/catalogs/default_catalog/eventStores/default_event_store`.
        filter - Optional. Filtering expression to specify restrictions over returned events. This is a sequence of terms, where each term applies some kind of a restriction to the returned user events. Use this expression to restrict results to a specific time range, or filter events by eventType. eg: eventTime > "2012-04-23T18:25:43.511Z" eventsMissingCatalogItems eventTime<"2012-04-23T18:25:43.511Z" eventType=search

        We expect only 3 types of fields:

        * eventTime: this can be specified a maximum of 2 times, once with a less than operator and once with a greater than operator. The eventTime restrict should result in one contiguous valid eventTime range.

        * eventType: only 1 eventType restriction can be specified.

        * eventsMissingCatalogItems: specififying this will restrict results to events for which catalog items were not found in the catalog. The default behavior is to return only those events for which catalog items were found.

        Some examples of valid filters expressions:

        * Example 1: eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" * Example 2: eventTime > "2012-04-23T18:25:43.511Z" eventType = detail-page-view * Example 3: eventsMissingCatalogItems eventType = search eventTime < "2018-04-23T18:30:43.511Z" * Example 4: eventTime > "2012-04-23T18:25:43.511Z" * Example 5: eventType = search * Example 6: eventsMissingCatalogItems

        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listUserEvents

        public final UserEventServiceClient.ListUserEventsPagedResponse listUserEvents​(ListUserEventsRequest request)
        Gets a list of user events within a time range, with potential filtering.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ListUserEventsRequest request =
               ListUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .setFilter("filter-1274492040")
                   .build();
           for (UserEvent element : userEventServiceClient.listUserEvents(request).iterateAll()) {
             // doThingsWith(element);
           }
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • listUserEventsPagedCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListUserEventsRequest,​UserEventServiceClient.ListUserEventsPagedResponse> listUserEventsPagedCallable()
        Gets a list of user events within a time range, with potential filtering.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ListUserEventsRequest request =
               ListUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .setFilter("filter-1274492040")
                   .build();
           ApiFuture<UserEvent> future =
               userEventServiceClient.listUserEventsPagedCallable().futureCall(request);
           // Do something.
           for (UserEvent element : future.get().iterateAll()) {
             // doThingsWith(element);
           }
         }
         
      • listUserEventsCallable

        public final com.google.api.gax.rpc.UnaryCallable<ListUserEventsRequest,​ListUserEventsResponse> listUserEventsCallable()
        Gets a list of user events within a time range, with potential filtering.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ListUserEventsRequest request =
               ListUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setPageSize(883849137)
                   .setPageToken("pageToken873572522")
                   .setFilter("filter-1274492040")
                   .build();
           while (true) {
             ListUserEventsResponse response =
                 userEventServiceClient.listUserEventsCallable().call(request);
             for (UserEvent element : response.getUserEventsList()) {
               // doThingsWith(element);
             }
             String nextPageToken = response.getNextPageToken();
             if (!Strings.isNullOrEmpty(nextPageToken)) {
               request = request.toBuilder().setPageToken(nextPageToken).build();
             } else {
               break;
             }
           }
         }
         
      • purgeUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<PurgeUserEventsResponse,​PurgeUserEventsMetadata> purgeUserEventsAsync​(EventStoreName parent,
                                                                                                                                                String filter,
                                                                                                                                                boolean force)
        Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           EventStoreName parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
           String filter = "filter-1274492040";
           boolean force = true;
           PurgeUserEventsResponse response =
               userEventServiceClient.purgeUserEventsAsync(parent, filter, force).get();
         }
         
        Parameters:
        parent - Required. The resource name of the event_store under which the events are created. The format is `projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}`
        filter - Required. The filter string to specify the events to be deleted. Empty string filter is not allowed. This filter can also be used with ListUserEvents API to list events that will be deleted. The eligible fields for filtering are:
        • eventType - UserEvent.eventType field of type string.
        • eventTime - in ISO 8601 "zulu" format.
        • visitorId - field of type string. Specifying this will delete all events associated with a visitor.
        • userId - field of type string. Specifying this will delete all events associated with a user. Example 1: Deleting all events in a time range. `eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` Example 2: Deleting specific eventType in time range. `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` Example 3: Deleting all events for a specific visitor `visitorId = visitor1024` The filtering fields are assumed to have an implicit AND.
        force - Optional. The default value is false. Override this flag to true to actually perform the purge. If the field is not set to true, a sampling of events to be deleted will be returned.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • purgeUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<PurgeUserEventsResponse,​PurgeUserEventsMetadata> purgeUserEventsAsync​(String parent,
                                                                                                                                                String filter,
                                                                                                                                                boolean force)
        Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           String parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]").toString();
           String filter = "filter-1274492040";
           boolean force = true;
           PurgeUserEventsResponse response =
               userEventServiceClient.purgeUserEventsAsync(parent, filter, force).get();
         }
         
        Parameters:
        parent - Required. The resource name of the event_store under which the events are created. The format is `projects/${projectId}/locations/global/catalogs/${catalogId}/eventStores/${eventStoreId}`
        filter - Required. The filter string to specify the events to be deleted. Empty string filter is not allowed. This filter can also be used with ListUserEvents API to list events that will be deleted. The eligible fields for filtering are:
        • eventType - UserEvent.eventType field of type string.
        • eventTime - in ISO 8601 "zulu" format.
        • visitorId - field of type string. Specifying this will delete all events associated with a visitor.
        • userId - field of type string. Specifying this will delete all events associated with a user. Example 1: Deleting all events in a time range. `eventTime > "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` Example 2: Deleting specific eventType in time range. `eventTime > "2012-04-23T18:25:43.511Z" eventType = "detail-page-view"` Example 3: Deleting all events for a specific visitor `visitorId = visitor1024` The filtering fields are assumed to have an implicit AND.
        force - Optional. The default value is false. Override this flag to true to actually perform the purge. If the field is not set to true, a sampling of events to be deleted will be returned.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • purgeUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<PurgeUserEventsResponse,​PurgeUserEventsMetadata> purgeUserEventsAsync​(PurgeUserEventsRequest request)
        Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           PurgeUserEventsRequest request =
               PurgeUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setFilter("filter-1274492040")
                   .setForce(true)
                   .build();
           PurgeUserEventsResponse response = userEventServiceClient.purgeUserEventsAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • purgeUserEventsOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<PurgeUserEventsRequest,​PurgeUserEventsResponse,​PurgeUserEventsMetadata> purgeUserEventsOperationCallable()
        Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           PurgeUserEventsRequest request =
               PurgeUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setFilter("filter-1274492040")
                   .setForce(true)
                   .build();
           OperationFuture<PurgeUserEventsResponse, PurgeUserEventsMetadata> future =
               userEventServiceClient.purgeUserEventsOperationCallable().futureCall(request);
           // Do something.
           PurgeUserEventsResponse response = future.get();
         }
         
      • purgeUserEventsCallable

        public final com.google.api.gax.rpc.UnaryCallable<PurgeUserEventsRequest,​com.google.longrunning.Operation> purgeUserEventsCallable()
        Deletes permanently all user events specified by the filter provided. Depending on the number of events specified by the filter, this operation could take hours or days to complete. To test a filter, use the list command first.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           PurgeUserEventsRequest request =
               PurgeUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setFilter("filter-1274492040")
                   .setForce(true)
                   .build();
           ApiFuture<Operation> future =
               userEventServiceClient.purgeUserEventsCallable().futureCall(request);
           // Do something.
           Operation response = future.get();
         }
         
      • importUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<ImportUserEventsResponse,​ImportMetadata> importUserEventsAsync​(EventStoreName parent,
                                                                                                                                         String requestId,
                                                                                                                                         InputConfig inputConfig,
                                                                                                                                         ImportErrorsConfig errorsConfig)
        Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.

        Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           EventStoreName parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]");
           String requestId = "requestId693933066";
           InputConfig inputConfig = InputConfig.newBuilder().build();
           ImportErrorsConfig errorsConfig = ImportErrorsConfig.newBuilder().build();
           ImportUserEventsResponse response =
               userEventServiceClient
                   .importUserEventsAsync(parent, requestId, inputConfig, errorsConfig)
                   .get();
         }
         
        Parameters:
        parent - Required. `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`
        requestId - Optional. Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency for expensive long running operations. Server-generated if unspecified. Up to 128 characters long. This is returned as google.longrunning.Operation.name in the response. Note that this field must not be set if the desired input config is catalog_inline_source.
        inputConfig - Required. The desired input location of the data.
        errorsConfig - Optional. The desired location of errors incurred during the Import.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • importUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<ImportUserEventsResponse,​ImportMetadata> importUserEventsAsync​(String parent,
                                                                                                                                         String requestId,
                                                                                                                                         InputConfig inputConfig,
                                                                                                                                         ImportErrorsConfig errorsConfig)
        Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.

        Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           String parent =
               EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]").toString();
           String requestId = "requestId693933066";
           InputConfig inputConfig = InputConfig.newBuilder().build();
           ImportErrorsConfig errorsConfig = ImportErrorsConfig.newBuilder().build();
           ImportUserEventsResponse response =
               userEventServiceClient
                   .importUserEventsAsync(parent, requestId, inputConfig, errorsConfig)
                   .get();
         }
         
        Parameters:
        parent - Required. `projects/1234/locations/global/catalogs/default_catalog/eventStores/default_event_store`
        requestId - Optional. Unique identifier provided by client, within the ancestor dataset scope. Ensures idempotency for expensive long running operations. Server-generated if unspecified. Up to 128 characters long. This is returned as google.longrunning.Operation.name in the response. Note that this field must not be set if the desired input config is catalog_inline_source.
        inputConfig - Required. The desired input location of the data.
        errorsConfig - Optional. The desired location of errors incurred during the Import.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • importUserEventsAsync

        public final com.google.api.gax.longrunning.OperationFuture<ImportUserEventsResponse,​ImportMetadata> importUserEventsAsync​(ImportUserEventsRequest request)
        Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.

        Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ImportUserEventsRequest request =
               ImportUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setRequestId("requestId693933066")
                   .setInputConfig(InputConfig.newBuilder().build())
                   .setErrorsConfig(ImportErrorsConfig.newBuilder().build())
                   .build();
           ImportUserEventsResponse response =
               userEventServiceClient.importUserEventsAsync(request).get();
         }
         
        Parameters:
        request - The request object containing all of the parameters for the API call.
        Throws:
        com.google.api.gax.rpc.ApiException - if the remote call fails
      • importUserEventsOperationCallable

        public final com.google.api.gax.rpc.OperationCallable<ImportUserEventsRequest,​ImportUserEventsResponse,​ImportMetadata> importUserEventsOperationCallable()
        Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.

        Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ImportUserEventsRequest request =
               ImportUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setRequestId("requestId693933066")
                   .setInputConfig(InputConfig.newBuilder().build())
                   .setErrorsConfig(ImportErrorsConfig.newBuilder().build())
                   .build();
           OperationFuture<ImportUserEventsResponse, ImportMetadata> future =
               userEventServiceClient.importUserEventsOperationCallable().futureCall(request);
           // Do something.
           ImportUserEventsResponse response = future.get();
         }
         
      • importUserEventsCallable

        public final com.google.api.gax.rpc.UnaryCallable<ImportUserEventsRequest,​com.google.longrunning.Operation> importUserEventsCallable()
        Bulk import of User events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events.

        Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.

        Sample code:

        
         // This snippet has been automatically generated and should be regarded as a code template only.
         // It will require modifications to work:
         // - It may require correct/in-range values for request initialization.
         // - It may require specifying regional endpoints when creating the service client as shown in
         // https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
         try (UserEventServiceClient userEventServiceClient = UserEventServiceClient.create()) {
           ImportUserEventsRequest request =
               ImportUserEventsRequest.newBuilder()
                   .setParent(
                       EventStoreName.of("[PROJECT]", "[LOCATION]", "[CATALOG]", "[EVENT_STORE]")
                           .toString())
                   .setRequestId("requestId693933066")
                   .setInputConfig(InputConfig.newBuilder().build())
                   .setErrorsConfig(ImportErrorsConfig.newBuilder().build())
                   .build();
           ApiFuture<Operation> future =
               userEventServiceClient.importUserEventsCallable().futureCall(request);
           // Do something.
           Operation response = future.get();
         }
         
      • shutdown

        public void shutdown()
        Specified by:
        shutdown in interface com.google.api.gax.core.BackgroundResource
      • isShutdown

        public boolean isShutdown()
        Specified by:
        isShutdown in interface com.google.api.gax.core.BackgroundResource
      • isTerminated

        public boolean isTerminated()
        Specified by:
        isTerminated in interface com.google.api.gax.core.BackgroundResource
      • shutdownNow

        public void shutdownNow()
        Specified by:
        shutdownNow in interface com.google.api.gax.core.BackgroundResource