Azure Cosmos kapsayıcısında üretilen iş sağlamaProvision throughput on an Azure Cosmos container

Bu makalede, Azure Cosmos DB bir kapsayıcı (koleksiyon, grafik veya tablo) üzerinde üretilen iş sağlama açıklanmaktadır.This article explains how to provision throughput on a container (collection, graph, or table) in Azure Cosmos DB. Tek bir kapsayıcıda üretilen iş sağlama veya bir veritabanında üretilen iş sağlama ve veritabanı içindeki kapsayıcılar arasında paylaşma sağlayabilirsiniz.You can provision throughput on a single container, or provision throughput on a database and share it among the containers within the database. Azure portal, Azure CLı veya Azure Cosmos DB SDK 'Ları kullanarak bir kapsayıcıda aktarım hızı sağlayabilirsiniz.You can provision throughput on a container using Azure portal, Azure CLI, or Azure Cosmos DB SDKs.

Azure portalAzure portal

  1. Azure portalında oturum açın.Sign in to the Azure portal.

  2. Yeni bir Azure Cosmos hesabı oluşturunveya mevcut bir Azure Cosmos hesabı seçin.Create a new Azure Cosmos account, or select an existing Azure Cosmos account.

  3. Veri Gezgini bölmesini açın ve Yeni koleksiyon' u seçin.Open the Data Explorer pane, and select New Collection. Ardından, aşağıdaki ayrıntıları sağlayın:Next, provide the following details:

    • Yeni bir veritabanı mı yoksa var olan bir veritabanını mı kullandığınızı belirtin.Indicate whether you are creating a new database or using an existing one.
    • Bir kapsayıcı (veya tablo veya grafik) KIMLIĞI girin.Enter a Container (or Table or Graph) ID.
    • Bir bölüm anahtarı değeri girin (örneğin, /userid).Enter a partition key value (for example, /userid).
    • Sağlamak istediğiniz bir üretilen iş (örneğin, 1000 ru) girin.Enter a throughput that you want to provision (for example, 1000 RUs).
    • Tamam’ı seçin.Select OK.

    Yeni koleksiyonla vurgulanan Veri Gezgini ekran görüntüsü

Azure CLı veya PowerShellAzure CLI or PowerShell

Adanmış aktarım hızı içeren bir kapsayıcı oluşturmak için bkz.To create a container with dedicated throughput see,

Not

MongoDB için Azure Cosmos DB API 'siyle yapılandırılmış bir Azure Cosmos hesabındaki kapsayıcıda aktarım hızı sağlıyorsanız, bölüm anahtarı yolu için /myShardKey kullanın.If you are provisioning throughput on a container in an Azure Cosmos account configured with the Azure Cosmos DB API for MongoDB, use /myShardKey for the partition key path. Cassandra API ile yapılandırılmış bir Azure Cosmos hesabındaki kapsayıcıda aktarım hızı sağlıyorsanız, bölüm anahtarı yolu için /myPrimaryKey kullanın.If you are provisioning throughput on a container in an Azure Cosmos account configured with Cassandra API, use /myPrimaryKey for the partition key path.

.NET SDK.NET SDK

Not

Cassandra API dışında tüm Cosmos DB API 'Leri için işleme sağlamak üzere SQL API için Cosmos SDK 'larını kullanın.Use the Cosmos SDKs for SQL API to provision throughput for all Cosmos DB APIs, except Cassandra API.

SQL, MongoDB, Gremlin ve Tablo API'leriSQL, MongoDB, Gremlin, and Table APIs

.Net v2 SDK.Net V2 SDK

// Create a container with a partition key and provision throughput of 400 RU/s
DocumentCollection myCollection = new DocumentCollection();
myCollection.Id = "myContainerName";
myCollection.PartitionKey.Paths.Add("/myPartitionKey");

await client.CreateDocumentCollectionAsync(
    UriFactory.CreateDatabaseUri("myDatabaseName"),
    myCollection,
    new RequestOptions { OfferThroughput = 400 });

.Net v3 SDK.Net V3 SDK

// Create a container with a partition key and provision throughput of 1000 RU/s
string containerName = "myContainerName";
string partitionKeyPath = "/myPartitionKey";

await this.cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(
    id: containerName,
    partitionKeyPath: partitionKeyPath,
    throughput: 1000);

JavaScript SDKJavaScript SDK

// Create a new Client
const client = new CosmosClient({ endpoint, key });

// Create a database
const { database } = await client.databases.createIfNotExists({ id: "databaseId" });

// Create a container with the specified throughput
const { resource } = await database.containers.createIfNotExists({
id: "contaierId ",
throughput: 1000
});

// To update an existing container or databases throughput, you need to user the offers API
// Get all the offers
const { resources: offers } = await client.offers.readAll().fetchAll();

// Find the offer associated with your container or the database
const offer = offers.find((_offer) => _offer.offerResourceId === resource._rid);

// Change the throughput value
offer.content.offerThroughput = 2000;

// Replace the offer.
await client.offer(offer.id).replace(offer);

Cassandra API’siCassandra API

Benzer komutlar, CQL uyumlu herhangi bir sürücü aracılığıyla verilebilir.Similar commands can be issued through any CQL-compliant driver.

// Create a Cassandra table with a partition (primary) key and provision throughput of 400 RU/s
session.Execute("CREATE TABLE myKeySpace.myTable(
    user_id int PRIMARY KEY,
    firstName text,
    lastName text) WITH cosmosdb_provisioned_throughput=400");

Cassandra tablosu için işleme değiştirme veya değişiklikAlter or change throughput for Cassandra table

// Altering the throughput too can be done through code by issuing following command
session.Execute("ALTER TABLE myKeySpace.myTable WITH cosmosdb_provisioned_throughput=5000");

Sonraki adımlarNext steps

Azure Cosmos DB ' de üretilen iş sağlama hakkında bilgi edinmek için aşağıdaki makalelere bakın:See the following articles to learn about throughput provisioning in Azure Cosmos DB: