全部產品
Search
文件中心

AnalyticDB:Python調用SDK樣本

更新時間:Jun 25, 2024

本文介紹如何使用阿里雲Python語言SDK開發包,調用雲原生資料倉儲AnalyticDB PostgreSQL版的DescribeDBInstances介面(查詢執行個體列表)。

查看OpenAPI文檔

在調用OpenAPI前,建議您先閱讀對應介面文檔,瞭解、學習調用該介面所需要的參數及許可權等,更多資訊請參見API概覽

建立RAM使用者並完成授權

如您已建立RAM使用者且已完成授權,可跳過此步驟。

  1. 建立RAM使用者:

    1. 訪問RAM使用者列表,單擊建立使用者

    2. 設定登入名稱稱adbpg-openapi-operator,選擇訪問方式OpenAPI 呼叫訪問

    3. 單擊確定,建立RAM使用者並儲存AccessKey ID與AccessKey Secret資訊。

  2. 完成授權:

    1. 訪問RAM使用者列表,單擊目標RAM使用者操作列的添加許可權

    2. 在文字框中搜尋AliyunGPDB,選擇AliyunGPDBReadOnlyAccess策略。

      說明

      AliyunGPDBReadOnlyAccess策略擁有查詢AnalyticDB PostgreSQL版執行個體的操作許可權,您也可以按需選擇AliyunGPDBFullAccess許可權(具有查詢、修改AnalyticDB PostgreSQL版執行個體的完全控制許可權)或進行自訂策略,更多資訊請參見建立自訂權限原則

    3. 單擊確定,完成授權操作。

調用OpenAPI

本文介紹阿里雲Python語言SDK方式調用OpenAPI,其他語言SDK的用法也類似,更多資訊請參見雲原生資料倉儲AnalyticDB PostgreSQL版SDK

準備Python環境

下載並安裝Python 3。如您已安裝Python,查看Python版本的命令樣本:python --version

配置環境變數

配置環境變數ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

  • Linux和macOS系統:將以下命令中的<access_key_id><access_key_secret>替換為您自己的AccessKey ID和AccessKey Secret,然後在終端裝置中逐條運行。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
  • Windows系統:建立環境變數檔案,添加環境變數ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,並寫入已準備好的AccessKey ID和AccessKey Secret。然後重啟Windows系統。

安裝依賴

在終端裝置中,逐條運行如下命令,安裝環境依賴。

pip install alibabacloud_credentials
pip install alibabacloud_gpdb20160503
pip install alibabacloud_tea_console

下載範例程式碼

  1. 訪問DescribeDBInstances,進入該介面在OpenAPI門戶的調試地址。

  2. 在左側的參數配置頁簽,填寫需要的參數資訊,本樣本需在RegionId參數中輸入cn-hangzhou

  3. 在右側的SDK樣本頁簽,選擇Python語言,單擊下載完整工程按鈕,下載範例程式碼包。

  4. 本地解壓並進入alibabacloud_sample目錄。

運行代碼

執行以下命令。

python sample.py

返回樣本如下。

[
  LOG
] {
  "headers":{
    "date":"Fri, 04 Aug 2023 07:53:15 GMT",
    "content-type":"application/json;charset=utf-8",
    "content-length":"1530","connection":"keep-alive",
    "keep-alive":"timeout=25","vary":"Accept-Encoding",
    "access-control-allow-origin":"*",
    "access-control-expose-headers":"*",
    "x-acs-request-id":"22996ADD-A917-5F47-AA7E-2D9A08****",
    "x-acs-trace-id":"a1f567557dc98fb5f368346302e6****",
    "etag":"1rgk9Fbs7Z+HYg9IhB1****"
  },
  "statusCode":200,
  "body":{
    "Items":{
      "DBCluster":[
        {
         "CreateTime":"2023-07-31T07:09:32Z",
         "DBInstanceCategory":"Basic",
         "DBInstanceDescription":"gp-bp1j20nrgf91****",
         "DBInstanceId":"gp-bp1j20nrgf91****",
         "DBInstanceMode":"StorageElastic",
         "DBInstanceNetType":"2",
         "DBInstanceStatus":"Running",
         "Engine":"gpdb",
         "EngineVersion":"6.0",
         "ExpireTime":"2023-08-31T16:00:00Z",
         "InstanceDeployType":"cluster",
         "InstanceNetworkType":"VPC",
         "LockMode":"Unlock",
         "LockReason":"0",
         "MasterNodeNum":1,
         "PayType":"Prepaid",
         "RegionId":"cn-hangzhou",
         "ResourceGroupId":"rg-acfmz7u4zzr****",
         "SegNodeNum":"2",
         "StorageSize":"50",
         "StorageType":"cloud_essd",
         "Tags":{"Tag":[]},
         "VSwitchId":"vsw-bp1sxxsodv28ey5****",
         "VpcId":"vpc-bp1ov7as4yvz4kxei****",
         "ZoneId":"cn-hangzhou-j"
        }
      ]
    },
    "PageNumber":1,
    "PageRecordCount":1,
    "RequestId":"22996ADD-A917-5F47-AA7E-2D9A08AF1AC2",
    "TotalRecordCount":1
  }
}