/// <summary> /// Call the B2 'Create Bucket' API (see https://www.backblaze.com/b2/docs/b2_create_bucket.html) /// </summary> /// <param name="apiUrl"></param> /// <param name="authorizationToken"></param> /// <param name="accountId"></param> /// <param name="bucketName"></param> /// <param name="bucketType"></param> /// <returns></returns> public async Task <CreateBucketResponse> CreateBucket(string apiUrl, string authorizationToken, string accountId, string bucketName, string bucketType) { Trace(() => $"CreateBucket: apiUrl={apiUrl}, authorizationToken={authorizationToken}, accountId={accountId}, bucketName={bucketName}, bucketType={bucketType}"); var request = new HttpRequestMessage(HttpMethod.Post, $"{apiUrl}/b2api/v2/b2_create_bucket") .WithAuthorization(authorizationToken) .WithJsonSerializedContent(new CreateBucketRequest { accountId = accountId, bucketName = bucketName, bucketType = bucketType }); var response = await httpClient.SendAsync(request).ConfigureAwait(false); var responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false); ThrowIfFailure(response, responseStream); var r = CreateBucketResponse.FromJson(responseStream); Trace(() => $"CreateBucket completed: accountId={r.accountId} bucketId={r.bucketId} bucketName={r.bucketName} bucketType={r.bucketType}"); return(r); }
public TestBucket() { authorizeAccountResponse = api.AuthorizeAccount(credentials.accountId, credentials.applicationKey).Result; createBucketResponse = api.CreateBucket(authorizeAccountResponse.apiUrl, authorizeAccountResponse.authorizationToken, authorizeAccountResponse.accountId, RandomString.Next(16), "allPrivate").Result; }