internal virtual Task <CosmosDatabaseResponse> CreateDatabaseAsync( CosmosDatabaseSettings databaseSettings, int?throughput = null, CosmosRequestOptions requestOptions = null, CancellationToken cancellationToken = default(CancellationToken)) { Task <CosmosResponseMessage> response = this.CreateDatabaseStreamAsync( streamPayload: databaseSettings.GetResourceStream(), throughput: throughput, requestOptions: requestOptions, cancellationToken: cancellationToken); return(this.client.ResponseFactory.CreateDatabaseResponse(this[databaseSettings.Id], response)); }
internal static Task <T> CreateDatabaseCoreAsync <T>( CosmosDatabaseSettings databaseSettings, CosmosClient client, Func <CosmosResponseMessage, T> responseCreator, CosmosRequestOptions requestOptions = null, int?throughput = null, CancellationToken cancellationToken = default(CancellationToken)) { client.DocumentClient.ValidateResource(databaseSettings); Uri resourceUri = new Uri(Paths.Databases_Root, UriKind.Relative); return(ExecUtils.ProcessResourceOperationAsync <T>( client, resourceUri, ResourceType.Database, OperationType.Create, requestOptions, partitionKey: null, streamPayload: databaseSettings.GetResourceStream(), requestEnricher: (httpRequestMessage) => httpRequestMessage.AddThroughputHeader(throughput), responseCreator: responseCreator, cancellationToken: cancellationToken)); }