public virtual Response <MetastoreRegistrationResponse> Register(string id, MetastoreRegisterObject registerBody, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("MetastoreClient.Register"); scope.Start(); try { return(RestClient.Register(id, registerBody, cancellationToken)); } catch (Exception e) { scope.Failed(e); throw; } }
internal HttpMessage CreateRegisterRequest(string id, MetastoreRegisterObject registerBody) { var message = _pipeline.CreateMessage(); var request = message.Request; request.Method = RequestMethod.Put; var uri = new RawRequestUriBuilder(); uri.Reset(_endpoint); uri.AppendPath("/metastore/create-database-operations/", false); uri.AppendPath(id, true); uri.AppendQuery("api-version", "2021-07-01-preview", true); request.Uri = uri; request.Headers.Add("Accept", "application/json"); request.Headers.Add("Content-Type", "application/json"); var content = new Utf8JsonRequestContent(); content.JsonWriter.WriteObjectValue(registerBody); request.Content = content; return(message); }
public virtual async Task <Response <MetastoreRegistrationResponse> > RegisterAsync(string id, MetastoreRegisterObject registerBody, CancellationToken cancellationToken = default) { using var scope = _clientDiagnostics.CreateScope("MetastoreClient.Register"); scope.Start(); try { return(await RestClient.RegisterAsync(id, registerBody, cancellationToken).ConfigureAwait(false)); } catch (Exception e) { scope.Failed(e); throw; } }
public async Task <Response <MetastoreRegistrationResponse> > RegisterAsync(string id, MetastoreRegisterObject registerBody, CancellationToken cancellationToken = default) { if (id == null) { throw new ArgumentNullException(nameof(id)); } if (registerBody == null) { throw new ArgumentNullException(nameof(registerBody)); } using var message = CreateRegisterRequest(id, registerBody); await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false); switch (message.Response.Status) { case 201: { MetastoreRegistrationResponse value = default; using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false); value = MetastoreRegistrationResponse.DeserializeMetastoreRegistrationResponse(document.RootElement); return(Response.FromValue(value, message.Response)); }