Azure Cosmos hesabını yönetmeManage an Azure Cosmos account

Bu makalede, Azure Cosmos hesabında Azure portal, Azure PowerShell, Azure CLı ve Azure Resource Manager şablonları kullanılarak çeşitli görevlerin nasıl yönetileceği açıklanır.This article describes how to manage various tasks on an Azure Cosmos account using the Azure portal, Azure PowerShell, Azure CLI, and Azure Resource Manager templates.

Hesap oluşturmaCreate an account

Azure portalAzure portal

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

  2. Kaynak oluştur > Veritabanları > Azure Cosmos DB seçeneğini belirleyin.Select Create a resource > Databases > Azure Cosmos DB.

    Azure portalındaki Veritabanları bölmesi

  3. Azure Cosmos DB hesabı oluştur sayfasında, yeni Azure Cosmos hesabı için temel ayarları girin.On the Create Azure Cosmos DB Account page, enter the basic settings for the new Azure Cosmos account.

    AyarSetting DeğerValue AçıklamaDescription
    SubscriptionSubscription Abonelik adıSubscription name Bu Azure Cosmos hesabı için kullanmak istediğiniz Azure aboneliğini seçin.Select the Azure subscription that you want to use for this Azure Cosmos account.
    Kaynak GrubuResource Group Kaynak grubu adıResource group name Bir kaynak grubu seçin veya Yeni oluştur' u seçip yeni kaynak grubu için benzersiz bir ad girin.Select a resource group, or select Create new, then enter a unique name for the new resource group.
    Hesap AdıAccount Name Benzersiz bir ad girinEnter a unique name Azure Cosmos hesabınızı tanımlamak için bir ad girin.Enter a name to identify your Azure Cosmos account. Girdiğiniz kimliğe documents.azure.com eklenerek URI'niz oluşturulacağından benzersiz bir kimlik kullanın.Because documents.azure.com is appended to the ID that you provide to create your URI, use a unique ID.

    KIMLIK yalnızca küçük harf, sayı ve kısa çizgi (-) karakterini içerebilir.The ID can only contain lowercase letters, numbers, and the hyphen (-) character. 3-31 karakter uzunluğunda olmalıdır.It must be between 3-31 characters in length.
    APIAPI Çekirdek (SQL)Core (SQL) API, oluşturulacak hesap türünü belirler.The API determines the type of account to create. Azure Cosmos DB beş API sağlar: Belge verileri için çekirdek (SQL) ve MongoDB, Graf verileri, Azure tablosu ve Cassandra için Gremlin.Azure Cosmos DB provides five APIs: Core (SQL) and MongoDB for document data, Gremlin for graph data, Azure Table, and Cassandra. Şu anda, her bir API için ayrı bir hesap oluşturmanız gerekir.Currently, you must create a separate account for each API.

    SQL sözdizimini kullanarak bir belge veritabanı ve sorgu oluşturmak için Core (SQL) seçeneğini belirleyin.Select Core (SQL) to create a document database and query by using SQL syntax.

    SQL API'si hakkında daha fazla bilgi.Learn more about the SQL API.
    KonumLocation Kullanıcılarınıza en yakın bölgeyi seçinSelect the region closest to your users Azure Cosmos DB hesabınızın barındırılacağı coğrafi konumu seçin.Select a geographic location to host your Azure Cosmos DB account. Verilere en hızlı erişim sağlamak için kullanıcılarınıza en yakın konumu kullanın.Use the location that is closest to your users to give them the fastest access to the data.

    Azure Cosmos DB için yeni hesap sayfası

  4. İncele ve oluştur’u seçin.Select Review + create. ve Etiketler bölümlerini atlayabilirsiniz.You can skip the Network and Tags sections.

  5. Hesap ayarlarını gözden geçirin ve ardından Oluştur' u seçin.Review the account settings, and then select Create. Hesabın oluşturulması birkaç dakika sürer.It takes a few minutes to create the account. Portalın, dağıtımınızıntamamlanmasını bekleyin.Wait for the portal page to display Your deployment is complete.

    Azure portalındaki Bildirimler bölmesi

  6. Azure Cosmos DB hesap sayfasına gitmek için Kaynağa Git ' i seçin.Select Go to resource to go to the Azure Cosmos DB account page.

    Azure Cosmos DB hesabı sayfası

Azure CLIAzure CLI

# Create an account
$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname' # must be lower case and < 31 characters

az cosmosdb create \
   --name $accountName \
   --resource-group $resourceGroupName \
   --kind GlobalDocumentDB \
   --default-consistency-level Session \
   --locations regionName=WestUS failoverPriority=0 isZoneRedundant=False \
   --locations regionName=EastUS failoverPriority=1 isZoneRedundant=False \
   --enable-multiple-write-locations true

Azure PowerShellAzure PowerShell

# Create an Azure Cosmos account for Core (SQL) API
$resourceGroupName = "myResourceGroup"
$location = "West US"
$accountName = "mycosmosaccount" # must be lower case and < 31 characters

$locations = @(
    @{ "locationName"="West US"; "failoverPriority"=0 },
    @{ "locationName"="East US"; "failoverPriority"=1 }
)

$consistencyPolicy = @{
    "defaultConsistencyLevel"="BoundedStaleness";
    "maxIntervalInSeconds"=300;
    "maxStalenessPrefix"=100000
}

$CosmosDBProperties = @{
    "databaseAccountOfferType"="Standard";
    "locations"=$locations;
    "consistencyPolicy"=$consistencyPolicy;
    "enableMultipleWriteLocations"="true"
}

New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName -Location $location `
    -Name $accountName -PropertyObject $CosmosDBProperties

Azure Resource Manager şablonuAzure Resource Manager template

Bu Azure Resource Manager şablonu, tutarlılık düzeyi, otomatik yük devretme ve çoklu yönetici seçeneklerini belirlemek için iki bölge ve seçenek ile yapılandırılmış desteklenen API 'ler için bir Azure Cosmos hesabı oluşturur.This Azure Resource Manager template will create an Azure Cosmos account for any supported API configured with two regions and options to select consistency level, automatic failover, and multi-master. Bu şablonu dağıtmak için Benioku sayfasında Azure 'a Dağıt ' a tıklayın, Azure Cosmos hesabı oluşturunTo deploy this template, click on Deploy to Azure on the readme page, Create Azure Cosmos account

Veritabanı hesabınızda bölge ekleme/çıkarma işlemi gerçekleştirmeAdd/remove regions from your database account

Azure portalAzure portal

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

  2. Azure Cosmos hesabınıza gidin ve verileri genel olarak Çoğalt menüsünü açın.Go to your Azure Cosmos account, and open the Replicate data globally menu.

  3. Bölge eklemek için, haritada istediğiniz bölge (ler) e karşılık gelen + etiketi içeren altıons 'yi seçin.To add regions, select the hexagons on the map with the + label that corresponds to your desired region(s). Alternatif olarak, bir bölge eklemek için + bölge Ekle seçeneğini belirleyip açılan menüden bir bölge seçin.Alternatively, to add a region, select the + Add region option and choose a region from the drop-down menu.

  4. Bölgeleri kaldırmak için, bir veya daha fazla bölgeyi onay işaretleri içeren mavi altıgenler seçerek haritalardan kaldırın.To remove regions, clear one or more regions from the map by selecting the blue hexagons with check marks. Ya da sağ taraftaki bölgenin yanındaki "wastesepet" (🗑) simgesini seçin.Or select the "wastebasket" (🗑) icon next to the region on the right side.

  5. Değişikliklerinizi kaydetmek için Tamam' ı seçin.To save your changes, select OK.

    Bölge Ekle veya Kaldır menüsü

Tek bölgeli yazma modunda, yazma bölgesini kaldıramazsınız.In a single-region write mode, you cannot remove the write region. Geçerli yazma bölgesini silebilmeniz için önce farklı bir bölgeye yük devretmek zorundasınız.You must fail over to a different region before you can delete the current write region.

Çok bölgeli yazma modunda, en az bir bölgeniz varsa herhangi bir bölge ekleyebilir veya kaldırabilirsiniz.In a multi-region write mode, you can add or remove any region, if you have at least one region.

Azure CLIAzure CLI

$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname' # must be lower case and <31 characters

# Create an account with 1 region
az cosmosdb create --name $accountName --resource-group $resourceGroupName --locations regionName=westus failoverPriority=0 isZoneRedundant=False

# Add a region
az cosmosdb update --name $accountName --resource-group $resourceGroupName --locations regionName=westus failoverPriority=0 isZoneRedundant=False --locations regionName=EastUS failoverPriority=1 isZoneRedundant=False

# Remove a region
az cosmosdb update --name $accountName --resource-group $resourceGroupName --locations regionName=westus failoverPriority=0 isZoneRedundant=False

Azure PowerShellAzure PowerShell

# Create an account with 1 region
$resourceGroupName = "myResourceGroup"
$location = "West US"
$accountName = "mycosmosaccount" # must be lower case and <31 characters

$locations = @( @{ "locationName"="West US"; "failoverPriority"=0 } )
$consistencyPolicy = @{ "defaultConsistencyLevel"="Session" }
$CosmosDBProperties = @{
    "databaseAccountOfferType"="Standard";
    "locations"=$locations;
    "consistencyPolicy"=$consistencyPolicy
}
New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName -Location $location `
    -Name $accountName -PropertyObject $CosmosDBProperties

# Add a region
$account = Get-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName -Name $accountName

$locations = @( 
    @{ "locationName"="West US"; "failoverPriority"=0 },
    @{ "locationName"="East Us"; "failoverPriority"=1 } 
)

$account.Properties.locations = $locations
$CosmosDBProperties = $account.Properties

Set-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

# Azure Resource Manager does not wait on the resource update
Write-Host "Confirm region added before continuing..."

# Remove a region
$account = Get-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName -Name $accountName

$locations = @( @{ "locationName"="West US"; "failoverPriority"=0 } )

$account.Properties.locations = $locations
$CosmosDBProperties = $account.Properties

Set-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

Çoklu yazma bölgelerini yapılandırmaConfigure multiple write-regions

Azure portalAzure portal

Verileri genel olarak Çoğalt sekmesini açın ve çok bölgeli yazmaları etkinleştirmek için Etkinleştir ' i seçin.Open the Replicate Data Globally tab and select Enable to enable multi-region writes. Çok bölgeli yazmaları etkinleştirdikten sonra, şu anda hesapta yer alan tüm okuma bölgeleri okuma ve yazma bölgeleri olur.After you enable multi-region writes, all the read regions that you currently have on the account will become read and write regions.

Not

Çok bölgeli yazmaları etkinleştirdikten sonra devre dışı bırakılamaz.After you enable multi-region writes, you cannot disable it.

Azure Cosmos hesabı, çok yöneticili ekran görüntüsünü yapılandırır

Bu özellik hakkında daha fazla askcosmosdb@microsoft.com soru için lütfen diğer ada ulaşın.Please reach out to the askcosmosdb@microsoft.com alias for additional questions about this feature.

Azure CLIAzure CLI

$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname'
az cosmosdb update --name $accountName --resource-group $resourceGroupName --enable-multiple-write-locations true

Azure PowerShellAzure PowerShell

# Update an Azure Cosmos account from single to multi-master

$account = Get-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName -Name $accountName

$account.Properties.enableMultipleWriteLocations = "true"
$CosmosDBProperties = $account.Properties

Set-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

Resource Manager şablonuResource Manager template

Hesabı ve ayarı enableMultipleWriteLocations: trueoluşturmak için kullanılan kaynak yöneticisi şablonunu dağıtarak, bir hesap, tek ASILDAN çoklu ana 'e geçirilebilir.An account can be migrated from single-master to multi-master by deploying the Resource Manager template used to create the account and setting enableMultipleWriteLocations: true. Aşağıdaki Azure Resource Manager şablonu, iki bölgeyle SQL API için bir Azure Cosmos hesabı ve birden çok yazma konumu etkinleştirilmiş olan en az bir şablondur.The following Azure Resource Manager template is a bare minimum template that will deploy an Azure Cosmos account for SQL API with two regions and multiple write locations enabled.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "type": "String"
        },
        "location": {
            "type": "String",
            "defaultValue": "[resourceGroup().location]"
        },
        "primaryRegion":{
            "type":"string",
            "metadata": {
                "description": "The primary replica region for the Cosmos DB account."
            }
        },
        "secondaryRegion":{
            "type":"string",
            "metadata": {
              "description": "The secondary replica region for the Cosmos DB account."
          }
        }
    },
    "resources": [
        {
            "type": "Microsoft.DocumentDb/databaseAccounts",
            "kind": "GlobalDocumentDB",
            "name": "[parameters('name')]",
            "apiVersion": "2015-04-08",
            "location": "[parameters('location')]",
            "tags": {},
            "properties": {
                "databaseAccountOfferType": "Standard",
                "consistencyPolicy": { "defaultConsistencyLevel": "Session" },
                "locations":
                [
                    {
                        "locationName": "[parameters('primaryRegion')]",
                        "failoverPriority": 0
                    },
                    {
                        "locationName": "[parameters('secondaryRegion')]",
                        "failoverPriority": 1
                    }
                ],
                "enableMultipleWriteLocations": true
            }
        }
    ]
}

Azure Cosmos hesabınız için otomatik yük devretmeyi etkinleştirinEnable automatic failover for your Azure Cosmos account

Otomatik yük devretme seçeneği, bir bölgenin kullanılamaz duruma gelmesi için en yüksek yük devretme önceliğine sahip bölgeye yük devretmesinin Azure Cosmos DB sağlar.The Automatic failover option allows Azure Cosmos DB to failover to the region with the highest failover priority with no user action should a region become unavailable. Otomatik yük devretme etkinleştirildiğinde bölge önceliği değiştirilebilir.When automatic failover is enabled, region priority can be modified. Otomatik yük devretmeyi etkinleştirmek için hesabın iki veya daha fazla bölgesi olmalıdır.Account must have two or more regions to enable automatic failover.

Azure portalAzure portal

  1. Azure Cosmos hesabınızdan verileri genel olarak Çoğalt bölmesini açın.From your Azure Cosmos account, open the Replicate data globally pane.

  2. Bölmenin en üstünde otomatik yük devretme' yı seçin.At the top of the pane, select Automatic Failover.

    Verileri genel olarak çoğaltma menüsü

  3. Otomatik yük devretme bölmesinde, otomatik yük devretmeyi etkinleştir ' in Açıkolarak ayarlandığından emin olun.On the Automatic Failover pane, make sure that Enable Automatic Failover is set to ON.

  4. Kaydet’i seçin.Select Save.

    Otomatik yük devretme portal menüsü

Azure CLIAzure CLI

# Enable automatic failover on an existing account
$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname'

az cosmosdb update --name $accountName --resource-group $resourceGroupName --enable-automatic-failover true

Azure PowerShellAzure PowerShell

$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"

$account = Get-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName

$account.Properties.enableAutomaticFailover="true";
$CosmosDBProperties = $account.Properties;

Set-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

Azure Cosmos hesabınız için yük devretme önceliklerini ayarlamaSet failover priorities for your Azure Cosmos account

Bir Cosmos hesabı otomatik yük devretme için yapılandırıldıktan sonra, bölgeler için yük devretme önceliği değiştirilebilir.After a Cosmos account is configured for automatic failover, the failover priority for regions can be changed.

Önemli

Hesap otomatik yük devretme için yapılandırıldığında yazma bölgesini (sıfır yük devretme önceliği) değiştiremezsiniz.You cannot modify the write region (failover priority of zero) when the account is configured for automatic failover. Yazma bölgesini değiştirmek için otomatik yük devretmeyi devre dışı bırakıp el ile yük devretme yapmanız gerekir.To change the write region, you must disable automatic failover and do a manual failover.

Azure portalAzure portal

  1. Azure Cosmos hesabınızdan verileri genel olarak Çoğalt bölmesini açın.From your Azure Cosmos account, open the Replicate data globally pane.

  2. Bölmenin en üstünde otomatik yük devretme' yı seçin.At the top of the pane, select Automatic Failover.

    Verileri genel olarak çoğaltma menüsü

  3. Otomatik yük devretme bölmesinde, otomatik yük devretmeyi etkinleştir ' in Açıkolarak ayarlandığından emin olun.On the Automatic Failover pane, make sure that Enable Automatic Failover is set to ON.

  4. Yük devretme önceliğini değiştirmek için, okuma bölgelerini, üzerine geldiğinizde görüntülenen satırın sol tarafındaki üç nokta ile sürükleyin.To modify the failover priority, drag the read regions via the three dots on the left side of the row that appear when you hover over them.

  5. Kaydet’i seçin.Select Save.

    Otomatik yük devretme portal menüsü

Azure CLIAzure CLI

# Assume region order is initially eastus=0 westus=1 southeastasia=2 on account creation
$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname'

az cosmosdb failover-priority-change --name $accountName --resource-group $resourceGroupName --failover-policies eastus=0 southeastasia=1 westus=2

Azure PowerShellAzure PowerShell

# Assume account currently has regions with priority: West US = 0, East US = 1, Southeast Asia = 2
$resourceGroupName = "myResourceGroup"
$accountName = "myaccountname"

$failoverPolicies = @(
    @{ "locationName"="West US"; "failoverPriority"=0 },
    @{ "locationName"="Southeast Asia"; "failoverPriority"=1 },
    @{ "locationName"="East US"; "failoverPriority"=2 }
)

Invoke-AzResourceAction -Action failoverPriorityChange `
    -ResourceType "Microsoft.DocumentDb/databaseAccounts" -ApiVersion "2015-04-08" `
    -ResourceGroupName $resourceGroupName -Name $accountName -Parameters $failoverPolicies

Azure Cosmos hesabında el ile yük devretme gerçekleştirmePerform manual failover on an Azure Cosmos account

Önemli

Bu işlemin başarılı olması için Azure Cosmos hesabının el ile yük devretme için yapılandırılmış olması gerekir.The Azure Cosmos account must be configured for manual failover for this operation to succeed.

El ile yük devretme gerçekleştirme süreci, hesabın yazma bölgesinin (yük devretme önceliği = 0) hesap için yapılandırılmış başka bir bölgeye değiştirilmesini gerektirir.The process for performing a manual failover involves changing the account's write region (failover priority = 0) to another region configured for the account.

Not

Çoklu yönetici hesaplara el ile yük devredilemez.Multi-master accounts cannot be manually failed over. Azure Cosmos SDK 'sını kullanan uygulamalar için SDK, bir bölgenin ne zaman kullanılamaz hale geldiğini algılar ve ardından SDK 'da çoklu barındırma API 'SI kullanılıyorsa otomatik olarak sonraki en yakın bölgeye yeniden yönlendirilir.For applications using the Azure Cosmos SDK, the SDK will detect when a region becomes unavailable, then redirect automatically to the next closest region if using multi-homing API in the SDK.

Azure portalAzure portal

  1. Azure Cosmos hesabınıza gidin ve verileri genel olarak Çoğalt menüsünü açın.Go to your Azure Cosmos account, and open the Replicate data globally menu.

  2. Menünün üst kısmında El Ile yük devretme' yı seçin.At the top of the menu, select Manual Failover.

    Verileri genel olarak çoğaltma menüsü

  3. El Ile yük devretme menüsünde Yeni yazma bölgenizi seçin.On the Manual Failover menu, select your new write region. Bu seçeneği, yazma bölgenizi değiştirdiğinize işaret eden onay kutusunu seçin.Select the check box to indicate that you understand this option changes your write region.

  4. Yük devretmeyi tetiklemek için Tamam' ı seçin.To trigger the failover, select OK.

    El ile yük devretme portal menüsü

Azure CLIAzure CLI

# Assume account currently has regions with priority: eastus=0 westus=1
# Change the priority order to trigger a failover of the write region
$resourceGroupName = 'myResourceGroup'
$accountName = 'myaccountname'

az cosmosdb update --name $accountName --resource-group $resourceGroupName --locations regionName=westus failoverPriority=0 isZoneRedundant=False --locations regionName=eastus failoverPriority=1 isZoneRedundant=False

Azure PowerShellAzure PowerShell

# Assume account currently has regions with priority: West US = 0, East US = 1
# Change the priority order to trigger a failover of the write region
$resourceGroupName = "myResourceGroup"
$accountName = "myaccountname"

$account = Get-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName

$locations = @(
    @{ "locationName"="East US"; "failoverPriority"=0 },
    @{ "locationName"="West US"; "failoverPriority"=1 }
)

$account.Properties.locations=$locations;
$CosmosDBProperties = $account.Properties;

Set-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2015-04-08" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

Sonraki adımlarNext steps

Azure Cosmos hesabının yanı sıra veritabanı ve kapsayıcıları yönetme hakkında daha fazla bilgi ve örnek için aşağıdaki makaleleri okuyun:For more information and examples on how to manage the Azure Cosmos account as well as database and containers, read the following articles: