次の方法で共有


Cosmos DB for PostgreSQL REST API

Azure Cosmos DB for Postgres は、トランザクション アプリケーション用のフル マネージドのクラウドネイティブ分散 SQL データベースです。

リソース プロバイダー表現状態転送 (REST) API を使用すると、Azure Cosmos DB リソースをプログラムで管理できます。 サポートされている主なカテゴリは次のとおりです。

  • クラスターをデプロイ、管理、または昇格します。
  • コーディネーター \ ワーカー ノードの構成を管理します。
  • ファイアウォール規則を管理します。
  • プライベート エンドポイント接続とプライベート リンク リソースを管理します。
  • ロールを管理します。

承認

すべての Azure Resource Manager REST 呼び出しが成功するには、要求ヘッダーに有効な承認トークンが必要です。 この承認 トークンを取得する方法の詳細については、「要求の作成: アクセス トークンの取得 」を参照してください。

REST API 呼び出しを行う方法

Azure Cosmos DB for PostgreSQL を含む任意の Azure サービスに対して REST API 呼び出しを行うには、いくつかの方法があります。 Postman は、REST API 呼び出しの最も汎用的な汎用ツールとして使用できます。 また、devops オートメーションで使用されるスクリプトなど、無人スクリプトを含む他のいくつかのシナリオに curl を使用することもできます。 Azure CLI から REST API 呼び出しを行う簡単な方法として、'az rest' を使用することもできます。

プレースホルダーと値

次の情報は、これらの REST API を使用して実行できるすべてのタスクに共通です。

  • を、2022-11-08 などの利用可能な最新の API バージョンに置き換えます{api-version}
  • を URI のサブスクリプション識別子に置き換えます {subscriptionId} 。 この値は、サブスクリプションに固有の GUID です (6B29FC40-CA47-1067-B31D-00DD010662DA など)。 [サブスクリプションのAzure portal] ブレードを使用して、サブスクリプション ID を見つけます。
  • {resourceGroupName} は、リソース グループに置き換えます。 詳細については、リソース グループを使用した Azure リソースの管理に関するページを参照してください。
  • を Azure Cosmos DB for PostgreSQL クラスターの名前に置き換えます {clusterName} 。 mydemocluster などの短い名前を使用します。
  • Content-Type ヘッダーは application/json に設定します。
  • Authorization ヘッダーを、Azure Active Directory から取得する JSON Web Token に設定します。 詳細については、「承認」 セクションを参照してください。

次のリファレンスを使用して、Azure Cosmos DB for PostgreSQL クラスターとノードのさまざまな REST API 呼び出しでサポートされている値を確認します。

クラスターの作成と更新

  • properties.postgresqlVersion: クラスター内のすべてのノード上のメジャー PostgreSQL バージョン。 サポートされているメジャー PostgreSQL バージョンを指定します。 たとえば、"15" です。 サポートされている Postgres バージョンの一覧を参照してください。 クラスターは、最新のマイナー PostgreSQL バージョンと、選択したリージョンで利用可能 な最新の対応する Citus バージョン で作成されます。
  • properties.citusVersion: クラスター内のすべてのノードにインストールされている Citus 拡張機能のバージョン。 たとえば、"11.3" などです。 現在サポートされている Citus バージョンを参照してください。
    • このプロパティは、新しいクラスター プロビジョニングでは省略可能です。 このプロパティを省略すると、指定したメジャー PostgreSQL バージョンでサポートされている Citus の最新バージョンがインストールされます。
    • このプロパティの主なケースは、11.0 から 11.3 などの Citus バージョンのアップグレードです。 クラスターの PostgreSQL のメジャー バージョンに対して更新された Citus バージョンがリリースされると、 クラスター更新 API 呼び出し を使用して 、Citus バージョンのみを 現在のメジャー PostgreSQL バージョンでサポートされている最新バージョンにアップグレードできます。
  • properties.administratorLoginPassword: クラスター内のすべてのノードに対する 'citus' ロールのパスワード。 パスワードは次の要件を満たす必要があります
    • 長さ: 8 文字以上、最大 128 文字
    • 複雑さ: 次の各カテゴリの文字を含める必要があります。
      • 英大文字
      • 英小文字
      • 数値 (0 - 9)
      • 英数字以外の文字 (!、$、#、%など)
    • パスワード内のロール名: ロール名のすべてまたは一部を含めることはできません。 ロール名の一部は、3 つ以上の連続する英数字として定義されます
  • properties.coordinatorServerEdition: 単一ノードまたはマルチノード クラスターのコーディネーター内のコンピューティングの種類。 サポートされている単一ノードとマルチノードコンピューティングには、次の値を使用します
    • 単一ノード
      • Burstable、1 仮想コア: BurstableMemoryOptimized
      • Burstable、2 仮想コア: BurstableGeneralPurpose
      • バースト不可、サポートされている仮想コア: GeneralPurpose
    • 複数ノード
      • バースト不可、サポートされている仮想コア: GeneralPurpose
  • properties.coordinatorVCores: 単一ノードまたはマルチノード クラスターのコーディネーター内のコンピューティング仮想コアの数。 このページでサポートされている値を参照してください。
  • properties.coordinatorStorageQuotaInMb: 単一ノードまたはマルチノード クラスターのコーディネーターの MiB のストレージ サイズ。 単一ノード構成とマルチノード構成で サポートされているストレージ サイズ に関するページを参照してください。 たとえば、ストレージの 128 GiB を指定するには、"131072" 値 (128 GiB * 1024 = 131072 MiB) を使用します。
  • properties.nodeServerEdition: ワーカー ノードのコンピューティングの種類。 "MemoryOptimized" 値のみがサポートされています。
  • properties.nodeVCores: マルチノード クラスター内の各ワーカー ノード内のコンピューティング仮想コアの数。 このページでサポートされている値を参照してください。
  • properties.nodeStorageQuotaInMb: マルチノード クラスター 内の ワーカー ノード上の MiB のストレージ サイズ。 サポートされているストレージ サイズのマルチノード構成に関するページを参照してください。 たとえば、ストレージの 2 TiB を指定するには、"2097152" 値 (2 TiB * 1024 = 2048 GiB * 1024 = 2097152 MiB) を使用します。
  • properties.coordinatorEnablePublicIpAccess: "False" に設定すると、このプロパティはクラスター コーディネーターへのパブリック アクセスを無効にします。
  • properties.nodeEnablePublicIpAccess: このプロパティの既定値は 'false' で、ワーカー ノードへの直接パブリック アクセスを実質的に無効にします。 マルチノード クラスター内のワーカー ノードへのオプションの直接アクセスを有効にするには、このプロパティを "True" に設定し、 それらのパブリック IP アドレスのファイアウォール規則を作成する必要があります。 すべてのファイアウォール規則は、コーディネーターとすべてのワーカー ノードに適用されます。

ファイアウォール規則の作成

  • properties.startIpAddressproperties.endIpAddress
    • 1 つのパブリック IP アドレスのファイアウォール規則を作成するには、この IP アドレスを startIpAddress と endIpAddress の両方の値として指定します。
    • Azure で管理されている任意の IP アドレスからの接続を許可するには、startIpAddress と endIpAddress の両方の値に "0.0.0.0" を指定します。 このファイアウォール規則では、他のお客様の Azure サブスクリプションからの接続が許可されることに注意してください。

ロールの作成

  • properties.password: クラスター内のすべてのノードに作成される Postgres ロールのパスワード。 パスワードは次の要件を満たす必要があります
    • 長さ: 8 文字以上、最大 128 文字
    • 複雑さ: 次の各カテゴリの文字を含める必要があります。
      • 英大文字
      • 英小文字
      • 数値 (0 - 9)
      • 英数字以外の文字 (!、$、#、%など)
    • パスワード内のロール名: ロール名のすべてまたは一部を含めることはできません。 ロール名の一部は、3 つ以上の連続する英数字として定義されます