Container class
Åtgärder för att läsa, ersätta eller ta bort en specifik befintlig container med ID.
Se Containrar för att skapa nya containrar och läsa/köra frågor mot alla containrar. använd .containers.
Obs! Alla dessa åtgärder anropar en fast budget.
Du bör utforma systemet så att dessa anrop skalas sublinearly med ditt program.
Anropa till exempel inte container(id).read() innan varje enskilt item.read() anrop för att säkerställa att containern finns. gör detta en gång när programmet startas.
Egenskaper
| conflicts | Åtgärder för att läsa och köra frågor mot konflikter för den angivna containern. Om du vill läsa eller ta bort en specifik konflikt använder du |
| database | |
| id | |
| items | Åtgärder för att skapa nya objekt och läsa/köra frågor mot alla objekt Om du vill läsa, ersätta eller ta bort ett befintligt objekt använder du Exempel Skapa ett nytt objekt
|
| scripts | Alla åtgärder för lagrade procedurer, utlösare och användardefinierade funktioner |
| url | Returnerar en referens-URL till resursen. Används för länkning i Behörigheter. |
Metoder
| conflict(string, Partition |
Används för att läsa, ersätta eller ta bort en specifik befintlig Konflikt med ID. Använd Exempel
|
| delete(Request |
Ta bort containern Exempel
|
| delete |
Ta bort alla dokument som tillhör containern för det angivna partitionsnyckelvärdet Exempel
|
| get |
Exempel
|
| get |
Hämtar definitionen av partitionsnyckeln först genom att titta i cachen, annars genom att läsa samlingen. |
| get |
|
| initialize |
Värmer upp krypteringsrelaterade cacheminnen för containern. Exempel
|
| item(string, Partition |
Används för att läsa, ersätta eller ta bort en specifik befintlig objekt med ID. Använd Exempel Ersätta ett objekt
|
| read(Request |
Läsa containerns definition Exempel
|
| read |
Hämtar erbjudande om container. Om ingen finns returnerar ett OfferResponse med odefinierat. Exempel
|
| read |
Hämtar partitionsnyckelintervallen för containern. Exempel
|
| replace(Container |
Ersätt containerns definition Exempel
|
| semantic |
Omranka en lista över dokument med semantisk omrankning via Cosmos DB Inference Service. Denna metod använder en semantisk omrankare för att poängsätta och omordna de tillhandahållna dokumenten baserat på deras relevans i den givna kontexten. De semantiska omklassificeringsförfrågningarna använder en separat HTTP-pipeline från huvudklienten i Cosmos DB och använder inte standardpolicyerna för SDK:s återbesök. Om du vill använda den här funktionen måste du:
Exempel Semantisk omprioritering av sökresultat
|
Egenskapsinformation
conflicts
Åtgärder för att läsa och köra frågor mot konflikter för den angivna containern.
Om du vill läsa eller ta bort en specifik konflikt använder du .conflict(id).
Conflicts conflicts
Egenskapsvärde
database
id
id: string
Egenskapsvärde
string
items
Åtgärder för att skapa nya objekt och läsa/köra frågor mot alla objekt
Om du vill läsa, ersätta eller ta bort ett befintligt objekt använder du .item(id).
Exempel
Skapa ett nytt objekt
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
Egenskapsvärde
scripts
Alla åtgärder för lagrade procedurer, utlösare och användardefinierade funktioner
Scripts scripts
Egenskapsvärde
url
Returnerar en referens-URL till resursen. Används för länkning i Behörigheter.
string url
Egenskapsvärde
string
Metodinformation
conflict(string, PartitionKey)
Används för att läsa, ersätta eller ta bort en specifik befintlig Konflikt med ID.
Använd .conflicts för att skapa nya konflikter eller köra frågor mot/läsa alla konflikter.
Exempel
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
Parametrar
- id
-
string
ID:t för Konflikt.
- partitionKey
- PartitionKey
Returer
delete(RequestOptions)
Ta bort containern
Exempel
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>
Parametrar
- options
- RequestOptions
Returer
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Ta bort alla dokument som tillhör containern för det angivna partitionsnyckelvärdet
Exempel
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>
Parametrar
- partitionKey
- PartitionKey
Partitionsnyckelvärdet för de objekt som ska tas bort
- options
- RequestOptions
Returer
Promise<ContainerResponse>
getFeedRanges()
Exempel
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[]>
Returer
Promise<readonly FeedRange[]>
alla feedintervall som ändringsfeeden kan hämtas för.
getPartitionKeyDefinition()
Varning
Det här API:et är nu inaktuellt.
This method has been renamed to readPartitionKeyDefinition.
Hämtar definitionen av partitionsnyckeln först genom att titta i cachen, annars genom att läsa samlingen.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Returer
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parametrar
- query
-
string | SqlQuerySpec
Returer
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Värmer upp krypteringsrelaterade cacheminnen för containern.
Exempel
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>
Returer
Promise<void>
item(string, PartitionKey)
Används för att läsa, ersätta eller ta bort en specifik befintlig objekt med ID.
Använd .items för att skapa nya objekt eller fråga/läsa alla objekt.
Exempel
Ersätta ett objekt
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
Parametrar
- id
-
string
ID:t för -objektet.
- partitionKeyValue
- PartitionKey
Värdet för partitionsnyckeln Item
Returer
read(RequestOptions)
Läsa containerns definition
Exempel
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>
Parametrar
- options
- RequestOptions
Returer
Promise<ContainerResponse>
readOffer(RequestOptions)
Hämtar erbjudande om container. Om ingen finns returnerar ett OfferResponse med odefinierat.
Exempel
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>
Parametrar
- options
- RequestOptions
Returer
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Hämtar partitionsnyckelintervallen för containern.
Exempel
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>
Parametrar
- feedOptions
- FeedOptions
Alternativ för begäran.
Returer
QueryIterator<PartitionKeyRange>
En iterator av partitionsnyckelintervall.
replace(ContainerDefinition, RequestOptions)
Ersätt containerns definition
Exempel
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>
Parametrar
- body
- ContainerDefinition
- options
- RequestOptions
Returer
Promise<ContainerResponse>
semanticRerank(string, string[], SemanticRerankOptions)
Anteckning
Denna API är i betaversion och tillhandahålls som en förhandsversion för utvecklare och kan komma att ändras utifrån den feedback vi får. Använd inte detta API i en produktionsmiljö.
Omranka en lista över dokument med semantisk omrankning via Cosmos DB Inference Service. Denna metod använder en semantisk omrankare för att poängsätta och omordna de tillhandahållna dokumenten baserat på deras relevans i den givna kontexten.
De semantiska omklassificeringsförfrågningarna använder en separat HTTP-pipeline från huvudklienten i Cosmos DB och använder inte standardpolicyerna för SDK:s återbesök.
Om du vill använda den här funktionen måste du:
- Konfigurera AAD-autentisering via
aadCredentialsiCosmosClientOptions - Ge slutpunkten för slutsatsen via
enablePreviewFeatures.semanticRerank.inferenceEndpointiCosmosClientOptions
Exempel
Semantisk omprioritering av sökresultat
import { DefaultAzureCredential } from "@azure/identity";
import { CosmosClient } from "@azure/cosmos";
const endpoint = "https://your-account.documents.azure.com";
const aadCredentials = new DefaultAzureCredential();
const client = new CosmosClient({
endpoint,
aadCredentials,
enablePreviewFeatures: {
semanticRerank: {
inferenceEndpoint: "https://your-account.<region>.dbinference.azure.com",
},
},
});
const { database } = await client.databases.createIfNotExists({ id: "Test Database" });
const { container } = await database.containers.createIfNotExists({ id: "Test Container" });
const queryResults = ["doc1 JSON", "doc2 JSON", "doc3 JSON"];
const result = await container.semanticRerank(
"most economical with multiple adjustments",
queryResults,
{ return_documents: true, top_k: 10, sort: true },
);
// Access the top-ranked document
if (result.rerankScores.length > 0) {
const topResult = result.rerankScores[0];
const topScore = topResult.score;
const topDocument = topResult.document;
if (topDocument) {
console.log("Top-ranked document:", topDocument);
}
console.log("Top score:", topScore);
}
function semanticRerank(rerankContext: string, documents: string[], options?: SemanticRerankOptions): Promise<SemanticRerankResult>
Parametrar
- rerankContext
-
string
Kontexten (t.ex. frågesträng) som ska användas för att omranka dokumenten.
- documents
-
string[]
En lista över dokument (som JSON-strängar) som ska omrankas.
- options
- SemanticRerankOptions
Valfri ordbok över inställningar för omklassificeringsbegäran. Kända tjänstealternativ:
-
return_documents(booleansk) — inkludera omrankade dokument i svaret. -
top_k(antal) — max antal högst rankade dokument att returnera. -
batch_size(nummer) — batchstorlek för bearbetning av dokument. -
sort(boolesk) — sortera resultat efter relevanspoäng i fallande ordning. -
document_type("string"|"json") — typ av dokument som omklassas. -
target_paths(sträng) — komma-separerade JSON-vägar (när document_type är"json"). -
abortSignal(AvbrytSignal) — signal för att avbryta begäran. Eventuella ytterligare nycklar vidarebefordras as-is till inferenstjänsten.
Returer
Promise<SemanticRerankResult>
Omklassificeringsresultaten inkluderar poängsatta dokument, latens och tokenanvändning.