- Increased the auth token expiration buffer from 5s to 60s.
- Fix failing tests with
engine already exists
. - Add
EngineProvisionTimeoutException
thrown fromCreateEngineWaitAsync
when requested engine timeout to provision.
- Add
IAccessTokenHandler
interface to implement custom access Auth0 token handlers. Client
class consturctor extended to accept custom access token handlers implementations.- Add
DefaultAccessTokenHandler
to cache Auth0 tokens locally.
- Add support to v2
CreateDatabase
.
- Fix common retry policy to not retry on
HttpError
with 4xx Status Codes, but only on 5xx.
- Bump up google protobuf version.
- Fix
GetOAuthClientResponse
deserialization issue
- Added
TransactionAsyncAbortReason
- Fixed load models async issue.
- Fixed transaction async backoff issue.
- Exposed http client
var client = new Client(ctx);
var httpClient = client.HttpClient;
- Poll transaction asynchronous with x% overhead of the time the transaction has been running so far.
- Refactored sdk code back into a single package.
- Removed
EngineState
enumeration:ListEnginesAsync(state = "PROVISIONED")
- Removed
EngineSize
enumeration:CreateEngineAsync(engineName, size = "XS")
- Fix for missing Protos package.
- Fix for
ListEngines
.
- Added the following exceptions:
NotFoundException
thrown fromGetEngineAsync(string engine)
,GetDatabaseAsync(string database)
, etc. when requested resource (Engine/Database/Model/User/Client) doesn't exist or got deleted.ApiException
thrown when RAI API responds with 5xx status codes or contains unsupported content type.EngineProvisionFailedException
thrown fromCreateEngineWaitAsync
when requested engine failed to provision.CredentialsNotSupportedException
thrown from every method when credentials to access RAI API are not provided or provided credentials are unsupported (i.e. not for OAuth Client credentials method).InvalidResponseException
thrown when RAI API response has unexpected format or content type.
- Replaced String properties with Enums in the following models returned by corresponding API methods:
Database
.State
property is ofDatabaseState
type.Engine
.State
andDeleteEngineStatus
.State
properties are ofEngineState
type,Engine
.Size
property is ofEngineSize
type.Transaction
.Mode
property is ofTransactionMode
type.TransactionAsyncCompactResponse
.State
property is ofTransactionAsyncState
type.User
.Status
property is ofUserStatus
type andUser
.Roles
property is ofList<Role>
type.
- Changed the following API methods to accept Enum parameters instead of Strings:
ListDatabasesAsync
accepts optionalstate
parameter ofDatabaseState?
type.ListEnginesAsync
accepts optionalstate
parameter ofEngineState?
type.
- Made structural changes that include moving classes from
RelationalAI
namespace to the following namespaces:RelationalAI.Models.Database
namespace:CreateDatabaseResponse
,Database
,DeleteDatabaseResponse
,GetDatabaseResponse
,ListDatabasesResponse
.RelationalAI.Models.Edb
namespace:Edb
,ListEdbsResponse
,ListEdbsResponseAction
,ListEdbsResponseResult
.RelationalAI.Models.Engine
namespace:CreateEngineResponse
,DeleteEngineResponse
,DeleteEngineStatus
,Engine
,EngineSize
,GetEngineResponse
,ListEnginesResponse
.RelationalAI.Models.OAuthClient
namespace:CreateOAuthClientResponse
,DeleteOAuthClientResponse
,GetOAuthClientResponse
,ListOAuthClientResponse
,OAuthClient
,OAuthClientEx
,Permission
.RelationalAI.Models.RelModel
namespace:ListModelsResponse
,ListModelsResponseAction
,ListModelsResponseResult
,Model
.RelationalAI.Models.Transaction
namespace:ArrowRelation
,ClientProblem
,CsvOptions
,DbAction
,IntegrityConstraintViolation
,Relation
,RelKey
,Source
,Transaction
,TransactionAsync
,TransactionAsyncCancelResponse
,TransactionAsyncCompactResponse
,TransactionAsyncFile
,TransactionAsyncMetadataResponse
,TransactionAsyncMultipleResponses
,TransactionAsyncResponse
,TransactionAsyncResult
,TransactionAsyncSingleResponse
,TransactionResult
.RelationalAI.Models.User
namespace:CreateUserResponse
,DeleteUserResponse
,GetUserResponse
,ListUsersResponse
,Role
,UpdateUserResponse
,User
,UserStatus
.RelationalAI.Services
namespace:Client
,Rest
.
- Added more exceptions thrown in the cases of unexpected responses from RAI REST API, such as:
SystemException
with message "Unexpected format of problems" thrown when SDK fails to parse transaction problems.
- Deprecated metadata json format.
- Removed
TransactionAsyncMetadataResponse
model. - Added support to metadata protobuf format.
GetTransactionMetadata
returns protobuf metadata.
- In this update we ensure the SDK follows the standard async/await approach for the methods. The following methods have been renamed to include the "Async" postfix, made async and now return a
Task<T>
to the user:CreateDatabase
,GetDatabase
,ListDatabases
,DeleteDatabase
,CloneDatabase
.CreateEngine
,CreateEngineWait
,GetEngine
,ListEngines
,DeleteEngine
.CreateOAuthClient
,FindOAuthClient
,GetOAuthClient
,ListOAuthClients
,DeleteOAuthClient
.CreateUser
,UpdateUser
,FindUser
,GetUser
,ListUsers
,DeleteUser
,DisableUser
,EnableUser
.GetTransactions
,GetTransaction
,GetTransactionResults
,GetTransactionMetadata
,GetTransactionProblems
,CancelTransaction
,DeleteTransaction
.ListEdbs
,LoadModel
,LoadModels
,ListModels
,ListModelNames
,GetModel
,DeleteModel
.LoadJson
,LoadCsv
.ExecuteV1
.Execute
renamed toExecuteWaitAsync
to match the naming of the sync operations.
- Renamed:
Execute
toExecuteV1
.ExecuteAsyncWait
toExecute
.
- Added
CancelTransaction
feature.
- Added
FinishedAt
field toTransactionAsyncResponse
.
- Fixed
executeAsync
inputs issue.
-
Added v2 predefined results formats:
GetTransactions
returnsTransactionsAsyncMultipleResponses
.GetTransaction
returnsTransactionAsyncSingleResponse
.GetTransactionResults
returnsList<ArrowRelation>
.GetTransactionMetadata
returnsList<TransactionAsyncMetadataResponse>
.GetTransactionProblems
returnList<ClientProblem|IntegrityConstraintViolation>
.ExecuteAsync
returnsTransactionAsyncResult
.
- Added support to the asynchronous protocol including:
executeAsync
: runs an asynchronous request.executeAsyncWait
: runs an asynchronous request and wait of its completion.getTransaction
: gets information about transaction.getTransactions
: gets the list of transactions.getTransactionResults
: gets transaction execution results.getTransactionMetadata
: gets transaction metadata.getTransactionProblems
: gets transaction execution problems.
- Added more api functionalities:
ListEdbs
: lists the current edbs.LoadModel
: loads a model.LoadModels
: loads a dictionary of models.ListModels
: lists the current models.ListModelNames
: lists the current model names.GetModel
: gets a specific model.DeleteModel
: deletes a specific model.LoadJson
: loads json data.LoadCsv
: loads csv data.CloneDatabase
: clone a database.