Class PolarisClient
java.lang.Object
org.apache.polaris.service.it.env.PolarisClient
- All Implemented Interfaces:
AutoCloseable
This is a holder for the heavy-weight HTTP client for accessing Polaris APIs. This class provides
method for constructing light-weight API wrappers for Iceberg REST and Polaris Management API
that reuse the same shared HTTP client.
-
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.databind.ObjectMapperUtility method that creates anObjectMappersufficient for (de-)serializing client-side payloads for Iceberg REST and Polaris Management APIs.catalogApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) catalogApi(ClientCredentials credentials) voidcleanUp(ClientCredentials credentials) voidclose()genericTableApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) genericTableApi(ClientCredentials credentials) managementApi(String authToken) managementApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) managementApi(ClientCredentials credentials) newEntityName(String hint) This method should be used by test code to make top-level entity names.obtainToken(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) Requests an access token from the Polaris server for the client ID/secret pair that is part of the given principal data object.obtainToken(ClientCredentials credentials) Requests an access token from the Polaris server for the givenClientCredentials.static PolarisClientpolarisClient(PolarisApiEndpoints endpoints) policyApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) policyApi(ClientCredentials credentials)
-
Method Details
-
polarisClient
-
buildObjectMapper
public static com.fasterxml.jackson.databind.ObjectMapper buildObjectMapper()Utility method that creates anObjectMappersufficient for (de-)serializing client-side payloads for Iceberg REST and Polaris Management APIs.It is recommended for
PolarisServerManagerimplementations to use thisObjectMapperif the make customclients. -
newEntityName
This method should be used by test code to make top-level entity names. The purpose of this method is two-fold:- Identify top-level entities for latger clean-up by
cleanUp(ClientCredentials).- Allow
PolarisServerManagers to customize top-level entities per environment. - Identify top-level entities for latger clean-up by
-
managementApi
-
managementApi
-
managementApi
public ManagementApi managementApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) -
catalogApi
public CatalogApi catalogApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) -
catalogApi
-
catalogApiPlain
-
genericTableApi
public GenericTableApi genericTableApi(org.apache.polaris.core.admin.model.PrincipalWithCredentials principal) -
genericTableApi
-
policyApi
-
policyApi
-
obtainToken
Requests an access token from the Polaris server for the client ID/secret pair that is part of the given principal data object. -
obtainToken
Requests an access token from the Polaris server for the givenClientCredentials. -
cleanUp
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-