Freigeben über


Cosmos DB für PostgreSQL-REST-API

Azure Cosmos DB for Postgres ist eine vollständig verwaltete, cloudnative verteilte SQL-Datenbank für Transaktionsanwendungen.

Mit den REST-APIs (Representational State Transfer) des Ressourcenanbieters können Sie Ihre Azure Cosmos DB-Ressourcen programmgesteuert verwalten. Zu den wichtigsten Kategorien, die unterstützt werden, gehören:

  • Bereitstellen, Verwalten oder Heraufstufen eines Clusters.
  • Verwalten Sie die Konfigurationen des Koordinators \ Workerknotens.
  • Verwalten von Firewall-Regeln.
  • Verwalten Sie private Endpunktverbindungen und Private Link-Ressourcen.
  • Verwalten von Rollen.

Autorisierung

Für alle Azure Resource Manager-REST-Aufrufe ist ein gültiges Autorisierungstoken im Anforderungsheader erforderlich, um erfolgreich zu sein. Ausführliche Informationen zum Abrufen dieses Autorisierungstokens finden Sie unter Erstellen der Anforderung: Abrufen eines Zugriffstokens .

So führen Sie REST-API-Aufrufe durch

Es gibt mehrere Möglichkeiten, REST-API-Aufrufe für jeden Azure-Dienst zu tätigen, einschließlich Azure Cosmos DB for PostgreSQL. Sie können Postman als universellstes Allzwecktool für REST-API-Aufrufe verwenden. Sie können curl auch für einige andere Szenarien verwenden, einschließlich unbeaufsichtigter Skripts, wie sie in der DevOps-Automatisierung verwendet werden. Sie können auch "az rest" verwenden, um REST-API-Aufrufe über die Azure CLI zu tätigen.

Platzhalter und Werte

Die folgenden Informationen gelten für alle Aufgaben, die Sie mit diesen REST-APIs ausführen können:

  • Ersetzen Sie {api-version} durch die neueste verfügbare API-Version , z. B. 2022-11-08.
  • Ersetzen Sie {subscriptionId} ihn durch Ihren Abonnementbezeichner im URI. Bei diesem Wert handelt es sich um eine GUID, die für Ihr Abonnement eindeutig ist, z. B. 6B29FC40-CA47-1067-B31D-00DD010662DA. Suchen Sie die Abonnement-ID auf dem Blatt Abonnements des Azure-Portals.
  • Ersetzen Sie {resourceGroupName} durch die Ressourcengruppe. Weitere Informationen finden Sie unter Verwenden von Ressourcengruppen zum Verwalten Ihrer Azure-Ressourcen.
  • Ersetzen Sie diesen durch {clusterName} den Namen Ihres Azure Cosmos DB for PostgreSQL-Clusters. Verwenden Sie den Kurznamen, z. B. mydemocluster.
  • Legen Sie den Content-Type-Header auf "application/json" fest.
  • Legen Sie den Autorisierungsheader auf ein JSON-Webtoken fest, das Sie von Azure Active Directory abrufen. Weitere Informationen finden Sie im Abschnitt Autorisierung.

Werte

Verwenden Sie die folgende Referenz, um unterstützte Werte für verschiedene REST-API-Aufrufe für Azure Cosmos DB for PostgreSQL-Cluster und -Knoten zu ermitteln.

Erstellen und Aktualisieren von Clustern

  • properties.postgresqlVersion: PostgreSQL-Hauptversion auf allen Knoten in Ihrem Cluster. Geben Sie eine unterstützte PostgreSQL-Hauptversion an. Beispiel: "15". Weitere Informationen finden Sie in der Liste der unterstützten Postgres-Versionen. Der Cluster wird mit der neuesten PostgreSQL-Nebenversion und der neuesten entsprechenden Citus-Version erstellt, die in der ausgewählten Region verfügbar ist.
  • properties.citusVersion: Version der Citus-Erweiterung, die auf allen Knoten in Ihrem Cluster installiert ist. Beispiel: "11.3". Siehe aktuell unterstützte Citus-Version.
    • Diese Eigenschaft ist für eine neue Clusterbereitstellung optional. Wenn diese Eigenschaft weggelassen wird, wird die neueste Version von Citus installiert, die für die angegebene PostgreSQL-Hauptversion unterstützt wird.
    • Der Hauptfall für diese Eigenschaft ist ein Upgrade der Citus-Version, z. B. von 11.0 auf 11.3. Wenn eine aktualisierte Citus-Version für die PostgreSQL-Hauptversion in Ihrem Cluster veröffentlicht wird, können Sie den API-Aufruf für die Clusteraktualisierung verwenden, um nur die Citus-Version auf die neueste Version zu aktualisieren, die für die aktuelle PostgreSQL-Hauptversion unterstützt wird.
  • properties.administratorLoginPassword: Kennwort für die Rolle 'citus' auf allen Knoten in Ihrem Cluster. Das Passwort muss die folgenden Anforderungen erfüllen
    • Länge: Mindestens 8 Zeichen und höchstens 128 Zeichen
    • Komplexität: Muss Zeichen aus jeder der folgenden Kategorien enthalten:
      • Englische Großbuchstaben
      • Englische Kleinbuchstaben
      • Zahlen (0-9)
      • Nicht-alphanumerische Zeichen (!, $, #, %usw.)
    • Rollenname im Kennwort: Darf den Rollennamen nicht ganz oder teilweise enthalten. Ein Teil eines Rollennamens besteht aus drei oder mehr aufeinanderfolgenden alphanumerischen Zeichen
  • properties.coordinatorServerEdition: Typ der Compute im Koordinator eines Clusters mit einem einzelnen Knoten oder mehreren Knoten. Verwenden Sie die folgenden Werte für die unterstützten Computeressourcen mit einem Knoten und mehreren Knoten.
    • Einzelner Knoten
      • Stabil, 1 virtueller Kern: BurstableMemoryOptimized
      • Burstable, 2 virtuelle Kerne: BurstableAllPurpose
      • Nicht burstfähig, alle unterstützten virtuellen Kerne: Allgemein
    • Mehrere Knoten
      • Nicht burstfähig, alle unterstützten virtuellen Kerne: Allgemein
  • properties.coordinatorVCores: Anzahl der virtuellen Computekerne im Koordinator eines Clusters mit einem Knoten oder mehreren Knoten. Weitere Informationen finden Sie auf dieser Seite.
  • properties.coordinatorStorageQuotaInMb: Speichergröße in MiB auf einem einzelnen Knoten oder auf dem Koordinator in einem Cluster mit mehreren Knoten. Weitere Informationen finden Sie unter Unterstützte Speichergrößen für Konfigurationen mit einem und mehreren Knoten. Um z. B. 128 GiB Speicher anzugeben, verwenden Sie den Wert "131072" (128 GiB * 1024 = 131072 MiB).
  • properties.nodeServerEdition: Typ der Datenverarbeitung in Workerknoten. Es wird nur der Wert "MemoryOptimized" unterstützt.
  • properties.nodeVCores: Anzahl der virtuellen Computekerne in jedem Workerknoten in einem Cluster mit mehreren Knoten. Weitere Informationen finden Sie auf dieser Seite.
  • properties.nodeStorageQuotaInMb: Speichergröße in MiB auf einem Workerknoten in einem Cluster mit mehreren Knoten. Weitere Informationen finden Sie unter Unterstützte Speichergrößen und Konfigurationen mit mehreren Knoten. Um z. B. 2 TiB Speicher anzugeben, verwenden Sie den Wert "2097152" (2 TiB * 1024 = 2048 GiB * 1024 = 2097152 MiB).
  • properties.coordinatorEnablePublicIpAccess: Wenn diese Eigenschaft auf "False" festgelegt ist, deaktiviert sie den öffentlichen Zugriff auf den Clusterkoordinator.
  • properties.nodeEnablePublicIpAccess: Der Standardwert für diese Eigenschaft ist 'false', wodurch der direkte öffentliche Zugriff auf Workerknoten effektiv deaktiviert wird. Um den optionalen direkten Zugriff auf Workerknoten in Clustern mit mehreren Knoten zu aktivieren, müssen Sie diese Eigenschaft auf "True" festlegen und Firewallregeln für diese öffentlichen IP-Adressen erstellen. Alle Firewall-Regeln gelten für den Koordinator und alle Worker-Knoten.

Firewall-Regel erstellen

  • properties.startIpAddress und properties.endIpAddress
    • Um eine Firewallregel für eine einzelne öffentliche IP-Adresse zu erstellen, geben Sie diese IP-Adresse als Wert für startIpAddress und endIpAddress an.
    • Um Verbindungen von einer beliebigen IP-Adresse zuzulassen, die von Azure verwaltet wird, geben Sie "0.0.0.0" für die Werte startIpAddress und endIpAddress an. Beachten Sie, dass diese Firewallregel Verbindungen aus den Azure-Abonnements anderer Kunden zulässt.

Rolle erstellen

  • properties.password: Kennwort für die Postgres-Rolle, die auf allen Knoten in Ihrem Cluster erstellt werden soll. Das Passwort muss die folgenden Anforderungen erfüllen
    • Länge: Mindestens 8 Zeichen und höchstens 128 Zeichen
    • Komplexität: Muss Zeichen aus jeder der folgenden Kategorien enthalten:
      • Englische Großbuchstaben
      • Englische Kleinbuchstaben
      • Zahlen (0-9)
      • Nicht-alphanumerische Zeichen (!, $, #, %usw.)
    • Rollenname im Kennwort: Darf den Rollennamen nicht ganz oder teilweise enthalten. Ein Teil eines Rollennamens besteht aus drei oder mehr aufeinanderfolgenden alphanumerischen Zeichen