Konfigurieren Ihrer Azure Cosmos DB für MongoDB-Kontofunktionen

GILT FÜR: MongoDB

Funktionen sind Features, die Ihrem API für MongoDB-Konto hinzugefügt oder aus dem Konto entfernt werden können. Viele dieser Funktionen wirken sich auf das Kontoverhalten aus. Daher ist es wichtig, dass Sie sich über die genauen Auswirkungen einer Funktion im Klaren sind, bevor Sie sie aktivieren oder deaktivieren. Für MongoDB-Konten werden standardmäßig verschiedene Funktionen in der API festgelegt, die nicht geändert oder entfernt werden können. Ein Beispiel dafür ist die EnableMongo-Funktion. In diesem Artikel wird veranschaulicht, wie Sie eine Funktion aktivieren und deaktivieren.

Voraussetzungen

Verfügbare Funktionen

Funktion BESCHREIBUNG Wechselmedium
DisableRateLimitingResponses Ermöglicht es der Mongo API, Anforderungen mit Ratenbegrenzung serverseitig zu wiederholen, bis der für max-request-timeout festgelegte Wert erreicht ist. Ja
EnableMongoRoleBasedAccessControl Aktivieren Sie die Unterstützung für die Erstellung von Benutzern und Rollen für die rollenbasierte Zugriffskontrolle in MongoDB. Nein
EnableMongoRetryableWrites Aktiviert die Unterstützung für wiederholbare Schreibvorgänge auf dem Konto. Ja
EnableMongo16MBDocumentSupport Aktiviert die Unterstützung für das Einfügen von Dokumenten bis zu einer Größe von 16 MB. 1 No
EnableUniqueCompoundNestedDocs Aktiviert die Unterstützung für zusammengesetzte und eindeutige Indizes für geschachtelte Felder, wenn das geschachtelte Feld kein Array ist. Nein
EnableTtlOnCustomPath Bietet die Möglichkeit, eine benutzerdefinierte Gültigkeitsdauer (TTL) für ein beliebiges Feld in einer Sammlung festzulegen. Das Festlegen von TTL für partielle eindeutige Indexeigenschaft wird nicht unterstützt. 2 No
EnablePartialUniqueIndex Ermöglicht die Unterstützung für einen eindeutigen Teilindex, sodass Sie mehr Flexibilität bei der genauen Festlegung der Felder in Dokumenten haben, die Sie indizieren möchten. Nein

Hinweis

1 Diese Funktion kann nicht für ein Azure Cosmos DB für MongoDB-Konten mit kundenseitig verwalteten Schlüsseln aktiviert werden.

Hinweis

2 Diese Funktion kann nicht für ein Azure Cosmos DB für MongoDB-Konten mit fortlaufender Sicherung aktiviert werden.

Wichtig

Bei Azure Cosmos DB for MongoDB-Konten können Funktionen nicht mithilfe von Azure Resource Manager geändert werden.

Aktivieren einer Funktion

  1. Rufen Sie Ihre derzeitigen Kontofunktionen mit az cosmosdb show ab:

    az cosmosdb show \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name>
    

    Es sollte ein Abschnitt mit Funktionen ähnlich der folgenden exemplarischen Ausgabe angezeigt werden:

    "capabilities": [
      {
        "name": "EnableMongo"
      }
    ]
    

    Überprüfen Sie die Standardfunktion. In diesem Beispiel ist EnableMongo als einzige Funktion festgelegt.

  2. Legen Sie die neue Funktion für Ihr Datenbankkonto fest. Die Liste der Funktionen sollte die Liste der zuvor aktivierten Funktionen beinhalten, die Sie beibehalten möchten.

    Nur explizit benannte Funktionen werden für Ihr Konto festgelegt. Wenn Sie die DisableRateLimitingResponses Funktion beispielsweise dem vorherigen Beispiel hinzufügen möchten, verwenden Sie den Befehl az cosmosdb update mit dem Parameter --capabilities, und listen Sie alle Funktionen auf, die Sie in Ihrem Konto haben möchten:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities EnableMongo DisableRateLimitingResponses
    

    Wichtig

    In der Liste der Funktionen müssen immer alle Funktionen angegeben sein, die Sie aktivieren möchten. Dies schließt Funktionen ein, die bereits für das Konto aktiviert sind, das Sie behalten möchten. In diesem Beispiel war die Funktion EnableMongo bereits aktiviert, sodass Sie sowohl die Funktion EnableMongo als auch die Funktion DisableRateLimitingResponses angeben müssen.

    Tipp

    Wenn Sie PowerShell verwenden und beim Verwenden des vorherigen Befehls eine Fehlermeldung angezeigt wird, versuchen Sie stattdessen, ein PowerShell-Array zu verwenden, um die Funktionen aufzulisten:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities @("EnableMongo","DisableRateLimitingResponses")
    

Deaktivieren einer Funktion

  1. Rufen Sie Ihre derzeitigen Kontofunktionen mit az cosmosdb show ab:

    az cosmosdb show \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name>
    

    Es sollte ein Abschnitt mit Funktionen ähnlich der folgenden exemplarischen Ausgabe angezeigt werden:

    "capabilities": [
      {
        "name": "EnableMongo"
      },
      {
        "name": "DisableRateLimitingResponses"
      }
    ]
    

    Prüfen Sie auf Funktionen, die derzeit festgelegt sind. In diesem Beispiel sind zwei Funktionen festgelegt: EnableMongo und DisableRateLimitingResponses.

  2. Entfernen Sie eine der Funktionen aus Ihrem Datenbankkonto. Die Liste der Funktionen sollte die Liste der zuvor aktivierten Funktionen beinhalten, die Sie beibehalten möchten.

    Nur explizit benannte Funktionen werden für Ihr Konto festgelegt. Wenn Sie z. B. die Funktion DisableRateLimitingResponses entfernen möchten, verwenden Sie den Befehl az cosmosdb update, und listen Sie die Funktion auf, die Sie beibehalten möchten:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities EnableMongo
    

    Tipp

    Wenn Sie PowerShell verwenden und beim Verwenden des Befehls eine Fehlermeldung angezeigt wird, versuchen Sie stattdessen, ein PowerShell-Array zu verwenden, um die Funktionen aufzulisten:

    az cosmosdb update \
        --resource-group <azure_resource_group> \
        --name <azure_cosmos_db_account_name> \
        --capabilities @("EnableMongo")
    

Nächste Schritte