Database class
Операции чтения или удаления существующей базы данных.
Ознакомьтесь с базами данных для создания новых баз данных и чтения и запроса всех баз данных; используйте client.databases
.
Примечание. Все эти операции выполняют вызовы к фиксированному бюджету.
Вы должны разработать систему таким образом, чтобы эти вызовы масштабировать подстроки с приложением.
Например, не вызывайте database.read()
перед каждым вызовом item.read()
, чтобы убедиться, что база данных существует; Выполните это один раз при запуске приложения.
Свойства
client | |
containers | Используется для создания новых контейнеров или запроса/чтения всех контейнеров. Используется Пример Создайте новый контейнер
|
id | |
url | Возвращает URL-адрес ссылки для ресурса. Используется для связывания в разрешениях. Пример
|
users | Используется для создания новых пользователей или запроса/чтения всех пользователей. Используется |
Методы
container(string) | Используется для чтения, замены или удаления определенной существующей базы данных по идентификатору. Используйте Пример Удаление контейнера
|
create |
Создание ключа шифрования для учетной записи базы данных Пример
|
delete(Request |
Удалите указанную базу данных. Пример
|
read(Request |
Ознакомьтесь с определением данной базы данных. Пример
|
read |
Чтение ключа шифрования для учетной записи базы данных Пример
|
read |
Получает предложение по базе данных. Если нет, возвращает предложениеResponse с неопределенным значением. Пример Ознакомиться с предложением в базе данных
|
rewrap |
Переоборудует ключ шифрования клиента с новым ключом шифрования ключа Пример
|
user(string) | Используется для чтения, замены или удаления конкретного существующего Пользователя по id. Используется Пример Удаление пользователя
|
Сведения о свойстве
client
containers
Используется для создания новых контейнеров или запроса/чтения всех контейнеров.
Используется .database(id)
для чтения, замены или удаления определенной существующей базы данных по идентификатору.
Пример
Создайте новый контейнер
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { body: containerDefinition, container } = await client
.database("<db id>")
.containers.create({ id: "<container id>" });
containers: Containers
Значение свойства
id
id: string
Значение свойства
string
url
Возвращает URL-адрес ссылки для ресурса. Используется для связывания в разрешениях.
Пример
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const url = database.url;
string url
Значение свойства
string
users
Используется для создания новых пользователей или запроса/чтения всех пользователей.
Используется .user(id)
для чтения, замены или удаления определенного существующего Пользователя по идентификатору.
users: Users
Значение свойства
Сведения о методе
container(string)
Используется для чтения, замены или удаления определенной существующей базы данных по идентификатору.
Используйте .containers
создание новых контейнеров или запросы/чтение всех контейнеров.
Пример
Удаление контейнера
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
await client.database("<db id>").container("<container id>").delete();
function container(id: string): Container
Параметры
- id
-
string
Возвращаемое значение
createClientEncryptionKey(string, AEAD_AES_256_CBC_HMAC_SHA256, EncryptionKeyWrapMetadata)
Создание ключа шифрования для учетной записи базы данных
Пример
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionKeyWrapMetadata,
EncryptionKeyResolverName,
KeyEncryptionAlgorithm,
EncryptionAlgorithm,
} from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const credentials = new ClientSecretCredential("<tenant-id>", "<client-id>", "<app-secret>");
const keyResolver = new AzureKeyVaultEncryptionKeyResolver(credentials);
const client = new CosmosClient({
endpoint,
key,
clientEncryptionOptions: {
keyEncryptionKeyResolver: keyResolver,
},
});
const { database } = await client.databases.createIfNotExists({ id: "<db id>" });
const metadata: EncryptionKeyWrapMetadata = {
type: EncryptionKeyResolverName.AzureKeyVault,
name: "<key-name>",
value: "<key-vault-url>",
algorithm: KeyEncryptionAlgorithm.RSA_OAEP,
};
await database.createClientEncryptionKey(
"<cek-id>",
EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
metadata,
);
function createClientEncryptionKey(clientEncryptionKeyId: string, encryptionAlgorithm: AEAD_AES_256_CBC_HMAC_SHA256, keyWrapMetadata: EncryptionKeyWrapMetadata): Promise<ClientEncryptionKeyResponse>
Параметры
- clientEncryptionKeyId
-
string
- encryptionAlgorithm
- AEAD_AES_256_CBC_HMAC_SHA256
- keyWrapMetadata
- EncryptionKeyWrapMetadata
Возвращаемое значение
Promise<ClientEncryptionKeyResponse>
delete(RequestOptions)
Удалите указанную базу данных.
Пример
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
await client.database("<id here>").delete();
function delete(options?: RequestOptions): Promise<DatabaseResponse>
Параметры
- options
- RequestOptions
Возвращаемое значение
Promise<DatabaseResponse>
read(RequestOptions)
Ознакомьтесь с определением данной базы данных.
Пример
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { resource: database } = await client.database("<db id>").read();
function read(options?: RequestOptions): Promise<DatabaseResponse>
Параметры
- options
- RequestOptions
Возвращаемое значение
Promise<DatabaseResponse>
readClientEncryptionKey(string)
Чтение ключа шифрования для учетной записи базы данных
Пример
import { ClientSecretCredential } from "@azure/identity";
import { AzureKeyVaultEncryptionKeyResolver, CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const credentials = new ClientSecretCredential("<tenant-id>", "<client-id>", "<app-secret>");
const keyResolver = new AzureKeyVaultEncryptionKeyResolver(credentials);
const client = new CosmosClient({
endpoint,
key,
clientEncryptionOptions: {
keyEncryptionKeyResolver: keyResolver,
},
});
const { database } = await client.databases.createIfNotExists({ id: "<db id>" });
const { resource: clientEncryptionKey } = await database.readClientEncryptionKey("<cek-id>");
function readClientEncryptionKey(clientEncryptionKeyId: string): Promise<ClientEncryptionKeyResponse>
Параметры
- clientEncryptionKeyId
-
string
Возвращаемое значение
Promise<ClientEncryptionKeyResponse>
readOffer(RequestOptions)
Получает предложение по базе данных. Если нет, возвращает предложениеResponse с неопределенным значением.
Пример
Ознакомиться с предложением в базе данных
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
const { resource: offer } = await client.database("<db id>").readOffer();
function readOffer(options?: RequestOptions): Promise<OfferResponse>
Параметры
- options
- RequestOptions
Возвращаемое значение
Promise<OfferResponse>
rewrapClientEncryptionKey(string, EncryptionKeyWrapMetadata)
Переоборудует ключ шифрования клиента с новым ключом шифрования ключа
Пример
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionKeyWrapMetadata,
EncryptionKeyResolverName,
KeyEncryptionAlgorithm,
} from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const credentials = new ClientSecretCredential("<tenant-id>", "<client-id>", "<app-secret>");
const keyResolver = new AzureKeyVaultEncryptionKeyResolver(credentials);
const client = new CosmosClient({
endpoint,
key,
clientEncryptionOptions: {
keyEncryptionKeyResolver: keyResolver,
},
});
const { database } = await client.databases.createIfNotExists({ id: "<db id>" });
const newMetadata: EncryptionKeyWrapMetadata = {
type: EncryptionKeyResolverName.AzureKeyVault,
name: "<key-name>",
value: "<key-vault-url>",
algorithm: KeyEncryptionAlgorithm.RSA_OAEP,
};
await database.rewrapClientEncryptionKey("<new-cek-id>", newMetadata);
function rewrapClientEncryptionKey(clientEncryptionKeyId: string, newKeyWrapMetadata: EncryptionKeyWrapMetadata): Promise<ClientEncryptionKeyResponse>
Параметры
- clientEncryptionKeyId
-
string
- newKeyWrapMetadata
- EncryptionKeyWrapMetadata
Новые метаданные оболочки ключа шифрования
Возвращаемое значение
Promise<ClientEncryptionKeyResponse>
Обернутый ключ шифрования клиента с новым ключом, управляемым клиентом
user(string)
Используется для чтения, замены или удаления конкретного существующего Пользователя по id.
Используется .users
для создания новых пользователей или запроса/чтения всех пользователей.
Пример
Удаление пользователя
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const key = "<database account masterkey>";
const client = new CosmosClient({ endpoint, key });
await client.database("<db id>").user("<user id>").delete();
function user(id: string): User
Параметры
- id
-
string