Container class
Operace čtení, nahrazení nebo odstranění konkrétního existujícího kontejneru podle ID
Viz Kontejnery pro vytváření nových kontejnerů a čtení a dotazování všech kontejnerů; použít .containers.
Poznámka: Všechny tyto operace vyžadují pevné rozpočty.
Systém byste měli navrhnout tak, aby tato volání škálovat podlineárně s vaší aplikací.
Například nevolejte container(id).read() před každým voláním item.read(), aby se zajistilo, že kontejner existuje; proveďte to jednou při spuštění aplikace.
Vlastnosti
| conflicts | Operace pro čtení a dotazování konfliktů pro daný kontejner Ke čtení nebo odstranění určitého konfliktu použijte |
| database | |
| id | |
| items | Operace pro vytváření nových položek a čtení a dotazování všech položek Pro čtení, nahrazení nebo odstranění existující položky použijte příklad Vytvoření nové položky
|
| scripts | Všechny operace pro uložené procedury, triggery a uživatelem definované funkce |
| url | Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních. |
Metody
| conflict(string, Partition |
Používá se ke čtení, nahrazení nebo odstranění konkrétního existujícího Konflikt podle ID. Pomocí příklad
|
| delete(Request |
Odstranění kontejneru příklad
|
| delete |
Odstranění všech dokumentů patřících do kontejneru pro zadanou hodnotu klíče oddílu příklad
|
| get |
příklad
|
| get |
Získá nejprve definici klíče oddílu tak, že se podívá do mezipaměti jinak čtením kolekce. |
| get |
|
| initialize |
Zahřívá mezipaměti související se šifrováním pro kontejner. příklad
|
| item(string, Partition |
Slouží ke čtení, nahrazení nebo odstranění konkrétní položky podle ID. Pomocí příklad Nahrazení položky
|
| read(Request |
Čtení definice kontejneru příklad
|
| read |
Získá nabídku v kontejneru. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným. příklad
|
| read |
Získá rozsahy klíčů oddílů pro kontejner. příklad
|
| replace(Container |
Nahrazení definice kontejneru příklad
|
Podrobnosti vlastnosti
conflicts
Operace pro čtení a dotazování konfliktů pro daný kontejner
Ke čtení nebo odstranění určitého konfliktu použijte .conflict(id).
Conflicts conflicts
Hodnota vlastnosti
database
id
id: string
Hodnota vlastnosti
string
items
Operace pro vytváření nových položek a čtení a dotazování všech položek
Pro čtení, nahrazení nebo odstranění existující položky použijte .item(id).
příklad
Vytvoření nové položky
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
Hodnota vlastnosti
scripts
Všechny operace pro uložené procedury, triggery a uživatelem definované funkce
Scripts scripts
Hodnota vlastnosti
url
Vrátí adresu URL odkazu na prostředek. Používá se pro propojení v oprávněních.
string url
Hodnota vlastnosti
string
Podrobnosti metody
conflict(string, PartitionKey)
Používá se ke čtení, nahrazení nebo odstranění konkrétního existujícího Konflikt podle ID.
Pomocí .conflicts můžete vytvářet nové konflikty nebo dotazovat nebo číst všechny konflikty.
příklad
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
Parametry
- id
-
string
ID konfliktu.
- partitionKey
- PartitionKey
Návraty
delete(RequestOptions)
Odstranění kontejneru
příklad
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>
Parametry
- options
- RequestOptions
Návraty
Promise<ContainerResponse>
deleteAllItemsForPartitionKey(PartitionKey, RequestOptions)
Odstranění všech dokumentů patřících do kontejneru pro zadanou hodnotu klíče oddílu
příklad
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>
Parametry
- partitionKey
- PartitionKey
Hodnota klíče oddílu položek, které se mají odstranit
- options
- RequestOptions
Návraty
Promise<ContainerResponse>
getFeedRanges()
příklad
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[]>
Návraty
Promise<readonly FeedRange[]>
všechny oblasti informačního kanálu, pro které je možné načíst kanál změn.
getPartitionKeyDefinition()
Upozornění
Toto rozhraní API je teď zastaralé.
This method has been renamed to readPartitionKeyDefinition.
Získá nejprve definici klíče oddílu tak, že se podívá do mezipaměti jinak čtením kolekce.
function getPartitionKeyDefinition(): Promise<ResourceResponse<PartitionKeyDefinition>>
Návraty
Promise<ResourceResponse<PartitionKeyDefinition>>
getQueryPlan(string | SqlQuerySpec)
function getQueryPlan(query: string | SqlQuerySpec): Promise<Response<PartitionedQueryExecutionInfo>>
Parametry
- query
-
string | SqlQuerySpec
Návraty
Promise<Response<PartitionedQueryExecutionInfo>>
initializeEncryption()
Zahřívá mezipaměti související se šifrováním pro kontejner.
příklad
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>
Návraty
Promise<void>
item(string, PartitionKey)
Slouží ke čtení, nahrazení nebo odstranění konkrétní položky podle ID.
Pomocí .items můžete vytvářet nové položky nebo dotazovat nebo číst všechny položky.
příklad
Nahrazení položky
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
Parametry
- id
-
string
ID položky.
- partitionKeyValue
- PartitionKey
Hodnota klíče oddílu Item
Návraty
read(RequestOptions)
Čtení definice kontejneru
příklad
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>
Parametry
- options
- RequestOptions
Návraty
Promise<ContainerResponse>
readOffer(RequestOptions)
Získá nabídku v kontejneru. Pokud žádný neexistuje, vrátí offerResponse s nedefinovaným.
příklad
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>
Parametry
- options
- RequestOptions
Návraty
Promise<OfferResponse>
readPartitionKeyRanges(FeedOptions)
Získá rozsahy klíčů oddílů pro kontejner.
příklad
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>
Parametry
- feedOptions
- FeedOptions
Možnosti pro požadavek.
Návraty
QueryIterator<PartitionKeyRange>
Iterátor rozsahů klíčů oddílů.
replace(ContainerDefinition, RequestOptions)
Nahrazení definice kontejneru
příklad
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>
Parametry
- body
- ContainerDefinition
- options
- RequestOptions
Návraty
Promise<ContainerResponse>