Container class
Vorgänge zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Containers nach ID.
Siehe Container zum Erstellen neuer Container und lesen/Abfragen aller Container; verwenden Sie .containers.
Hinweis: Alle diese Vorgänge führen Aufrufe für ein festes Budget aus.
Sie sollten Ihr System so entwerfen, dass diese Aufrufe mit Ihrer Anwendung sublinear skaliert werden.
Rufen Sie z. B. vor jedem einzelnen container(id).read() Aufruf nicht item.read() auf, um sicherzustellen, dass der Container vorhanden ist; Führen Sie dies einmal beim Starten der Anwendung aus.
Eigenschaften
| conflicts | Vorgänge zum Lesen und Abfragen von Konflikten für den angegebenen Container. Verwenden Sie zum Lesen oder Löschen eines bestimmten Konflikts |
| database | |
| id | |
| items | Vorgänge zum Erstellen neuer Elemente und Lesen/Abfragen aller Elemente Verwenden Sie zum Lesen, Ersetzen oder Löschen eines vorhandenen Elements Beispiel Erstellen eines neuen Elements
|
| scripts | Alle Vorgänge für gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen |
| url | Gibt eine Verweis-URL für die Ressource zurück. Wird zum Verknüpfen in Berechtigungen verwendet. |
Methoden
| conflict(string, Partition |
Wird zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Conflict nach ID verwendet. Verwenden Sie Beispiel
|
| delete(Request |
Löschen des Containers Beispiel
|
| delete |
Löschen aller Dokumente, die zum Container für den bereitgestellten Partitionsschlüsselwert gehören Beispiel
|
| get |
Beispiel
|
| get |
Ruft die Partitionsschlüsseldefinition zuerst ab, indem Sie den Cache durch Lesen der Auflistung andernfalls untersuchen. |
| get |
|
| initialize |
Wärmt verschlüsselungsbezogene Caches für den Container auf. Beispiel
|
| item(string, Partition |
Wird verwendet, um ein bestimmtes, vorhandenes Element nach ID zu lesen, zu ersetzen oder zu löschen. Verwenden Sie Beispiel Ersetzen eines Elements
|
| read(Request |
Lesen der Containerdefinition Beispiel
|
| read |
Ruft Angebot auf Container ab. Wenn keine vorhanden ist, wird ein OfferResponse mit undefiniert zurückgegeben. Beispiel
|
| read |
Ruft die Partitionsschlüsselbereiche für den Container ab. Beispiel
|
| replace(Container |
Ersetzen der Containerdefinition Beispiel
|
Details zur Eigenschaft
conflicts
Vorgänge zum Lesen und Abfragen von Konflikten für den angegebenen Container.
Verwenden Sie zum Lesen oder Löschen eines bestimmten Konflikts .conflict(id).
Conflicts conflicts
Eigenschaftswert
database
id
id: string
Eigenschaftswert
string
items
Vorgänge zum Erstellen neuer Elemente und Lesen/Abfragen aller Elemente
Verwenden Sie zum Lesen, Ersetzen oder Löschen eines vorhandenen Elements .item(id).
Beispiel
Erstellen eines neuen Elements
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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const { resource: createdItem } = await container.items.create({
id: "<item id>",
properties: {},
});
Items items
Eigenschaftswert
scripts
Alle Vorgänge für gespeicherte Prozeduren, Trigger und benutzerdefinierte Funktionen
Scripts scripts
Eigenschaftswert
url
Gibt eine Verweis-URL für die Ressource zurück. Wird zum Verknüpfen in Berechtigungen verwendet.
string url
Eigenschaftswert
string
Details zur Methode
conflict(string, PartitionKey)
Wird zum Lesen, Ersetzen oder Löschen eines bestimmten, vorhandenen Conflict nach ID verwendet.
Verwenden Sie .conflicts zum Erstellen neuer Konflikte oder zum Abfragen/Lesen aller Konflikte.
Beispiel
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 container = database.container("Test Container");
const { resource: conflict } = await container.conflict("<conflict-id>").read();
function conflict(id: string, partitionKey?: PartitionKey): Conflict
Parameter
- id
-
string
Die ID der Conflict.
- partitionKey
- PartitionKey
Gibt zurück
delete(RequestOptions)
Löschen des Containers
Beispiel
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 delete(options?: RequestOptions): Promise<ContainerResponse>
Parameter
- options
- RequestOptions
Gibt zurück
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Löschen aller Dokumente, die zum Container für den bereitgestellten Partitionsschlüsselwert gehören
Beispiel
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 { container } = await database.containers.createIfNotExists({
id: "Test Container",
partitionKey: {
paths: ["/state"],
},
});
const cities = [
{ id: "1", name: "Olympia", state: "WA", isCapitol: true },
{ id: "2", name: "Redmond", state: "WA", isCapitol: false },
{ id: "3", name: "Olympia", state: "IL", isCapitol: false },
];
for (const city of cities) {
await container.items.create(city);
}
await container.deleteAllItemsForPartitionKey("WA");
function deleteAllItemsForPartitionKey(partitionKey: PartitionKey, options?: RequestOptions): Promise<ContainerResponse>
Parameter
- partitionKey
- PartitionKey
Der Partitionsschlüsselwert der zu löschenden Elemente
- options
- RequestOptions
Gibt zurück
Promise<ContainerResponse>
getFeedRanges()
Beispiel
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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const { resources: ranges } = await container.getFeedRanges();
function getFeedRanges(): Promise<readonly FeedRange[]>
Gibt zurück
Promise<readonly FeedRange[]>
alle Feedbereiche, für die Änderungsfeed abgerufen werden konnte.
getPartitionKeyDefinition()
Warnung
Diese API ist nun veraltet.
This method has been renamed to readPartitionKeyDefinition.
Ruft die Partitionsschlüsseldefinition zuerst ab, indem Sie den Cache durch Lesen der Auflistung andernfalls untersuchen.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Gibt zurück
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parameter
- query
-
string | SqlQuerySpec
Gibt zurück
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Wärmt verschlüsselungsbezogene Caches für den Container auf.
Beispiel
import { ClientSecretCredential } from "@azure/identity";
import {
AzureKeyVaultEncryptionKeyResolver,
CosmosClient,
EncryptionType,
EncryptionAlgorithm,
ClientEncryptionIncludedPath,
ClientEncryptionPolicy,
} 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 paths = ["/path1", "/path2", "/path3"].map(
(path) =>
({
path: path,
clientEncryptionKeyId: "< cek - id >",
encryptionType: EncryptionType.DETERMINISTIC,
encryptionAlgorithm: EncryptionAlgorithm.AEAD_AES_256_CBC_HMAC_SHA256,
}) as ClientEncryptionIncludedPath,
);
const clientEncryptionPolicy: ClientEncryptionPolicy = {
includedPaths: paths,
policyFormatVersion: 2,
};
const containerDefinition = {
id: "Test Container",
partitionKey: {
paths: ["/id"],
},
clientEncryptionPolicy: clientEncryptionPolicy,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);
await container.initializeEncryption();
function initializeEncryption(): Promise<void>
Gibt zurück
Promise<void>
item(string, PartitionKey)
Wird verwendet, um ein bestimmtes, vorhandenes Element nach ID zu lesen, zu ersetzen oder zu löschen.
Verwenden Sie .items zum Erstellen neuer Elemente oder zum Abfragen/Lesen aller Elemente.
Beispiel
Ersetzen eines Elements
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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const { body: replacedItem } = await container
.item("<item id>", "<partition key value>")
.replace({ id: "<item id>", title: "Updated post", authorID: 5 });
function item(id: string, partitionKeyValue?: PartitionKey): Item
Parameter
- id
-
string
Die ID des Item-.
- partitionKeyValue
- PartitionKey
Der Wert des partitionsschlüssels Item
Gibt zurück
read(RequestOptions)
Lesen der Containerdefinition
Beispiel
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>").container("<container id>").read();
function read(options?: RequestOptions): Promise<ContainerResponse>
Parameter
- options
- RequestOptions
Gibt zurück
Promise<ContainerResponse>
readOffer(RequestOptions)
Ruft Angebot auf Container ab. Wenn keine vorhanden ist, wird ein OfferResponse mit undefiniert zurückgegeben.
Beispiel
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>")
.container("<container id>")
.readOffer();
function readOffer(options?: RequestOptions): Promise<OfferResponse>
Parameter
- options
- RequestOptions
Gibt zurück
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Ruft die Partitionsschlüsselbereiche für den Container ab.
Beispiel
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 { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const { resources: ranges } = await container.readPartitionKeyRanges().fetchAll();
function readPartitionKeyRanges(feedOptions?: FeedOptions): QueryIterator<PartitionKeyRange>
Parameter
- feedOptions
- FeedOptions
Optionen für die Anforderung.
Gibt zurück
QueryIterator<PartitionKeyRange>
Ein Iterator von Partitionsschlüsselbereichen.
replace(ContainerDefinition, RequestOptions)
Ersetzen der Containerdefinition
Beispiel
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 containerDefinition = {
id: "Test Container",
partitionKey: {
paths: ["/key1"],
},
throughput: 1000,
};
const { container } = await database.containers.createIfNotExists(containerDefinition);
containerDefinition.throughput = 400;
const { container: replacedContainer } = await container.replace(containerDefinition);
function replace(body: ContainerDefinition, options?: RequestOptions): Promise<ContainerResponse>
Parameter
- body
- ContainerDefinition
- options
- RequestOptions
Gibt zurück
Promise<ContainerResponse>