Dela via


Cosmos DB for PostgreSQL REST API

Azure Cosmos DB for Postgres är en fullständigt hanterad, molnbaserad distribuerad SQL-databas för transaktionsprogram.

Med REST-API:erna (Representational State Transfer) för resursprovidern kan du hantera dina Azure Cosmos DB-resurser programmatiskt. Huvudkategorier som stöds är:

  • Distribuera, hantera eller höja upp ett kluster.
  • Hantera koordinator\ konfigurationer av arbetsnoder.
  • Hantera brandväggsregler.
  • Hantera privata slutpunktsanslutningar och privata länkresurser.
  • Hantera roller.

Auktorisering

Alla Azure Resource Manager REST-anrop behöver en giltig auktoriseringstoken i begärandehuvudet för att lyckas. Mer information om hur du hämtar den här auktoriseringstoken finns i Skapa begäran: Hämta en åtkomsttoken .

Så här gör du REST API-anrop

Det finns flera sätt att göra REST API-anrop för alla Azure-tjänster, inklusive Azure Cosmos DB for PostgreSQL. Du kan använda Postman som det mest universella verktyget för REST API-anrop. Du kan också använda curl för vissa andra scenarier, inklusive obevakade skript, till exempel de som används i devops automation. Du kan också använda "az rest" som ett enkelt sätt att göra REST API-anrop från Azure CLI.

Platshållare och värden

Följande information är gemensam för alla uppgifter som du kan göra med hjälp av dessa REST-API:er:

  • Ersätt {api-version} med den senaste tillgängliga API-versionen , till exempel 2022-11-08.
  • Ersätt {subscriptionId} med din prenumerationsidentifierare i URI:n. Det här värdet är ett GUID som är unikt för din prenumeration, till exempel 6B29FC40-CA47-1067-B31D-00DD010662DA. Leta upp prenumerations-ID:t med bladet Azure Portal prenumerationer.
  • Ersätt {resourceGroupName} med resursgruppen. Mer information finns i Använda resursgrupper för att hantera dina Azure-resurser.
  • Ersätt {clusterName} med namnet på ditt Azure Cosmos DB för PostgreSQL-kluster. Använd det korta namnet, till exempel mydemocluster.
  • Ange rubriken Innehållstyp till application/json.
  • Ange auktoriseringshuvudet till en JSON-webbtoken som du hämtar från Azure Active Directory. Mer information finns i avsnittet Auktorisering.

Värden

Använd följande referens för att fastställa värden som stöds för olika REST API-anrop för Azure Cosmos DB för PostgreSQL-kluster och noder.

Skapa och uppdatera kluster

  • properties.postgresqlVersion: Högre PostgreSQL-version på alla noder i klustret. Ange en högre PostgreSQL-version som stöds. Till exempel "15". Se listan över Postgres-versioner som stöds. Klustret skapas med den senaste delversionen av PostgreSQL och den senaste motsvarande Citus-versionen som är tillgänglig i den valda regionen.
  • properties.citusVersion: Version av Citus-tillägget som är installerat på alla noder i klustret. Till exempel "11.3". Se Citus-version som stöds för närvarande.
    • Den här egenskapen är valfri för en ny klusteretablering. Om den här egenskapen utelämnas installeras den senaste versionen av Citus för den angivna högre PostgreSQL-versionen.
    • Det primära fallet för den här egenskapen är Uppgradering av Citus-version, till exempel 11.0 till 11.3. När en uppdaterad Citus-version släpps för den större PostgreSQL-versionen i klustret kan du använda API-anropet för klusteruppdatering för att endast uppgradera Citus-versionen till den senaste versionen som stöds för den aktuella högre PostgreSQL-versionen.
  • properties.administratorLoginPassword: Lösenord för "citus"-rollen på alla noder i klustret. Lösenordet måste uppfylla följande krav
    • Längd: Minst 8 tecken och högst 128 tecken
    • Komplexitet: Måste innehålla tecken från var och en av följande kategorier:
      • Engelska versala bokstäver
      • Engelska gemena bokstäver
      • Tal (0–9)
      • Icke-alfanumeriska tecken (!, $, #, %osv.)
    • Rollnamn i lösenordet: Det går inte att innehålla alla eller delar av rollnamnet. En del av ett rollnamn definieras som tre eller flera alfanumeriska tecken i följd
  • properties.coordinatorServerEdition: Typ av beräkning i en enskild nod eller klusterkoordinator för flera noder. Använd följande värden för den enskild nod som stöds och beräkning med flera noder
    • Enkel nod
      • Burstable, 1 virtuell kärna: BurstableMemoryOptimized
      • Burstable, 2 virtuella kärnor: BurstableGeneralPurpose
      • Icke-burstable, alla virtuella kärnor som stöds: GeneralPurpose
    • Flera noder
      • Icke-burstable, alla virtuella kärnor som stöds: GeneralPurpose
  • properties.coordinatorVCores: Antal virtuella beräkningsnoder i koordinatorn för en nod eller flera noder. Se värden som stöds på den här sidan.
  • properties.coordinatorStorageQuotaInMb: Lagringsstorlek i MiB på en enda nod eller på koordinatorn i kluster med flera noder. Se lagringsstorlekar som stöds för konfigurationer med en nod och flera noder. Om du till exempel vill ange 128 GiB för lagring använder du värdet "131072" (128 GiB * 1024 = 131072 MiB).
  • properties.nodeServerEdition: Typ av beräkning i arbetsnoder. Endast värdet "MemoryOptimized" stöds.
  • properties.nodeVCores: Antal virtuella beräkningsnoder i varje arbetsnod i kluster med flera noder. Se värden som stöds på den här sidan.
  • properties.nodeStorageQuotaInMb: Lagringsstorlek i MiB på en arbetsnod i ett kluster med flera noder. Se lagringsstorlekar med flera noder som stöds. Om du till exempel vill ange 2 TiB för lagring använder du värdet "2097152" (2 TiB * 1024 = 2048 GiB * 1024 = 2097152 MiB).
  • properties.coordinatorEnablePublicIpAccess: När den är inställd på "False" inaktiverar den här egenskapen offentlig åtkomst till klusterkoordinatorn.
  • properties.nodeEnablePublicIpAccess: Standardvärdet för den här egenskapen är "falskt" och inaktiverar effektivt direkt offentlig åtkomst till arbetsnoder. Om du vill aktivera valfri direktåtkomst till arbetsnoder i kluster med flera noder måste du ange den här egenskapen till "True" och skapa brandväggsregler för dessa offentliga IP-adresser. Alla brandväggsregler gäller för koordinator och alla arbetsnoder.

Skapa brandväggsregel

  • properties.startIpAddress och properties.endIpAddress
    • Om du vill skapa en brandväggsregel för en enskild offentlig IP-adress anger du den här IP-adressen som ett värde för både startIpAddress och endIpAddress.
    • Om du vill tillåta anslutningar från alla IP-adresser som hanteras av Azure anger du "0.0.0.0" för både startIpAddress- och endIpAddress-värden. Observera att den här brandväggsregeln tillåter anslutningar från Andra kunders Azure-prenumerationer.

Skapa roll

  • properties.password: Lösenord för Postgres-rollen som ska skapas på alla noder i klustret. Lösenordet måste uppfylla följande krav
    • Längd: Minst 8 tecken och högst 128 tecken
    • Komplexitet: Måste innehålla tecken från var och en av följande kategorier:
      • Engelska versala bokstäver
      • Engelska gemena bokstäver
      • Tal (0–9)
      • Icke-alfanumeriska tecken (!, $, #, %osv.)
    • Rollnamn i lösenordet: Det går inte att innehålla alla eller delar av rollnamnet. En del av ett rollnamn definieras som tre eller flera alfanumeriska tecken i följd