五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

構(gòu)造請求

REST API請求的組成,并以調(diào)用IAM服務(wù)的獲取用戶Token說明如何調(diào)用GaussDB(DWS) API,該API獲取用戶的Token可以用于調(diào)用其他GaussDB(DWS) API時鑒權(quán)。

請求URI

請求URI由如下部分組成:

{URI-scheme}://{Endpoint}/{resource-path}?{query-string}

  • URI-scheme:

    表示用于傳輸請求的協(xié)議,當(dāng)前所有GaussDB(DWS) API均采用HTTPS協(xié)議。

  • Endpoint:

    指定承載REST服務(wù)端點(diǎn)的服務(wù)器域名或IP,不同服務(wù)不同區(qū)域的Endpoint不同,您可以從地區(qū)和終端節(jié)點(diǎn)獲取。

  • resource-path:

    資源路徑,也即GaussDB(DWS) API訪問路徑。從具體GaussDB(DWS) API的URI模塊獲取。

  • query-string:

    查詢參數(shù),是可選部分,并不是每個GaussDB(DWS) API都有查詢參數(shù)。查詢參數(shù)前面需要帶一個“?”,形式為“參數(shù)名=參數(shù)取值”。

注意事項(xiàng):

  • 為查看方便,在每個具體GaussDB(DWS) API的URI部分,只給出resource-path部分,并將請求方法寫在一起。這是因?yàn)閁RI-scheme都是HTTPS,而Endpoint在同一個區(qū)域也相同,所以簡潔起見將這兩部分省略。

示例:

  • https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens

    如上所示:例如您需要獲取IAM在“華北-北京四”區(qū)域的Token,則需使用“華北-北京四”區(qū)域的Endpoint(iam.cn-north-4.myhuaweicloud.com),并在獲取用戶Token的URI部分找到resource-path(/v3/auth/tokens)。
請求方法

HTTP請求方法(也稱為操作或動詞),它告訴服務(wù)你正在請求什么類型的操作。

  • GET:

    請求服務(wù)器返回指定資源。

  • PUT:

    請求服務(wù)器更新指定資源。

  • POST

    請求服務(wù)器新增資源或執(zhí)行特殊操作。

  • DELETE

    請求服務(wù)器刪除指定資源,如刪除對象等。

  • HEAD

    請求服務(wù)器資源頭部。

  • PATCH

    請求服務(wù)器更新資源的部分內(nèi)容。當(dāng)資源不存在的時候,PATCH可能會去創(chuàng)建一個新的資源。

示例:

  • POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens

    如上所示:在獲取用戶Token的URI部分,您可以看到其請求方法為“POST”。

請求消息頭

附加請求頭字段,如指定的URI和HTTP方法所要求的字段。

  • x-sdk-date:

    請求的發(fā)生時間,格式為(YYYYMMDD'T'HHMMSS'Z')。

    取值為當(dāng)前系統(tǒng)的GMT時間。

  • Host:

    請求的服務(wù)器信息,從GaussDB(DWS) API的URL中獲取。值為hostname[:port]。端口缺省時使用默認(rèn)的端口,https的默認(rèn)端口為443。

  • Content-Type(必選):

    發(fā)送的實(shí)體的MIME類型。推薦用戶默認(rèn)使用application/json,如果GaussDB(DWS) API是對象、鏡像上傳等接口,媒體類型可按照流類型的不同進(jìn)行確定。

  • Content-Length:

    請求body長度,單位為Byte。

  • X-Project-id:

    project_id,項(xiàng)目ID。請參考獲取項(xiàng)目ID章節(jié)獲取。

  • X-Auth-Token(使用Token認(rèn)證時必選):

    戶Token。

    用戶Token也就是調(diào)用獲取用戶Token接口的響應(yīng)值,該接口是唯一不需要認(rèn)證的接口。

    請求響應(yīng)成功后在響應(yīng)消息頭中包含的“X-Subject-Token”的值即為Token值。

  • X-Language:

    請求語言。

示例:

  • POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens


    Content-type: application/json

    添加消息頭后的請求如上所示:對于獲取用戶Token接口,由于不需要認(rèn)證,所以只添加“Content-type”即可。

請求消息體(可選)

請求消息體通常以結(jié)構(gòu)化格式(如JSON或XML)發(fā)出。

  • 每個接口的請求消息體內(nèi)容不同。

    并不是每個接口都需要有請求消息體(或者說消息體為空),GET、DELETE操作類型的接口不需要消息體,消息體具體內(nèi)容需要根據(jù)具體接口而定。

  • 若請求消息體中的參數(shù)支持中文,則中文字符必須為UTF-8編碼。

    與請求消息頭中Content-type對應(yīng),傳遞除請求消息頭之外的內(nèi)容。

示例

  • 調(diào)用GaussDB(DWS) “創(chuàng)建快照”API接口:


    POST https://{Endpoint}/v1.0/89cd04f168b84af6be287f71730fdb4b/snapshots


    {


    "snapshot" : {


    "name" : "snapshot-3",


    "cluster_id" : "44b277eb-39be-4921-be31-3d61b43651d7",


    "description" : "Snapshot-3 description"


    } }

    注意調(diào)用該接口前用戶已身份認(rèn)證(Token認(rèn)證),獲得操作GaussDB(DWS) API的權(quán)限。其中:


    name為快照名稱。


    cluster_id為創(chuàng)建快照的集群ID。


    description為快照描述,若不指定,描述為空。


認(rèn)證鑒權(quán)(Token 認(rèn)證)

調(diào)用接口支持使用Token認(rèn)證。Token在計算機(jī)系統(tǒng)中代表令牌(臨時)的意思,擁有Token就代表擁有某種權(quán)限。Token認(rèn)證就是在調(diào)用GaussDB(DWS) API的時候?qū)oken加到請求消息頭,從而通過身份認(rèn)證,獲得操作GaussDB(DWS) API的權(quán)限。

Token認(rèn)證

Token的有效期為24小時,需要使用一個Token鑒權(quán)時,可以先緩存起來,避免頻繁調(diào)用。


  • ???????????Token可通過調(diào)用獲取用戶Token接口獲取,調(diào)用GaussDB(DWS) API需要project級別的Token,即調(diào)用獲取用戶Token接口時,請求body中auth.scope的取值需要選擇project,如下所示:


    POST https://iam.cn-north-4.myhuaweicloud.com/v3/auth/tokens


    Content-type: application/json


    { "auth": {


    "identity": {


    "methods": [


    "password" ],


    "password": {


    "user": {


    "name": "user_name",


    "password": "********",


    "domain": {


    "name": "domainname"


    } } } },


    "scope": {


    "project": {


    "id": "xxxxxxxxxxxxxxxxxx"


    } } } }

    對于獲取用戶Token接口,您可以從接口的請求部分看到所需的請求參數(shù)及參數(shù)說明。其中加粗的斜體字段需要根據(jù)實(shí)際值填寫。其中:


    user_name為用戶名。


    domainname為用戶所屬的帳號名稱,可在我的憑證頁面獲取。


    ********為用戶登錄密碼。


    xxxxxxxxxxxxxxxxxx為項(xiàng)目ID,可參考獲取項(xiàng)目ID章節(jié)獲取。

獲取Token后,再調(diào)用其他GaussDB(DWS) API接口時,您需要在請求消息頭中添加“X-Auth-Token”,其值即為Token。

  • 例如Token值為“ABCDEFJ....”,則調(diào)用接口時將“X-Auth-Token: ABCDEFJ....”加到請求消息頭即可,如下所示:


    GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects


    Content-type: application/json


    X-Auth-Token: ABCDEFJ....

調(diào)用GaussDB(DWS) API接口

您可以調(diào)用GaussDB(DWS)的接口如下所示:

返回結(jié)果

請求發(fā)送以后,您會收到響應(yīng),包含狀態(tài)碼、響應(yīng)消息頭和消息體。

響應(yīng)消息體

狀態(tài)碼

  • 狀態(tài)碼是一組從1xx到5xx的數(shù)字代碼,狀態(tài)碼表示了請求響應(yīng)的狀態(tài),完整的狀態(tài)碼列表請參見狀態(tài)碼。

響應(yīng)消息頭

  • 對應(yīng)請求消息頭,響應(yīng)同樣也有消息頭,如“Content-type”。

    對于獲取用戶Token接口,返回的消息頭,其中“x-subject-token”就是需要獲取的用戶Token。

響應(yīng)消息體

  • 響應(yīng)消息體通常以結(jié)構(gòu)化格式(如JSON或XML)返回,與響應(yīng)消息頭中Content-type對應(yīng),傳遞除響應(yīng)消息頭之外的內(nèi)容。

示例

  • 調(diào)用成功正常返回示例:


    {


    "snapshot" : {


    "id" : "2a4d0f86-67cd-408a-8b66-017454fb7793"


    } }

    以上返回示例為GaussDB(DWS)的“創(chuàng)建快照”API接口。其中,id表示創(chuàng)建成功的快照ID。

  • 調(diào)用出錯示例:


    {


    "error_msg": "The format of message is error",


    "error_code": "DWS.5149"


    }

    當(dāng)GaussDB(DWS) API接口調(diào)用出錯時,會返回錯誤碼及錯誤信息說明。其中,error_code表示錯誤碼,error_msg表示錯誤描述信息。

調(diào)用GaussDB(DWS) API相關(guān)視頻

如何調(diào)用華為云RESTful API

06:57

如何調(diào)用華為云RESTful API

如何調(diào)用API-Token認(rèn)證

06:17

如何調(diào)用API-Token認(rèn)證

如何調(diào)用GuassDB(DWS) API接口示例

01:39

如何調(diào)用GuassDB(DWS) API接口示例