云服务器内容精选

  • 响应示例 { "result": "SUCCESS", "data": [ { "id": "502903940749205504", "creator": "TestAccount2 5547b9adee54423cb**********", "modifier": "TestAccount2 5547b9adee54423cb**********", "createTime": "2023-05-24T10:00:42.978+0000", "lastUpdateTime": "2023-05-24T10:00:42.978+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Design_document", "tenant": { "id": "-1", "creator": "xdmAdmin", "modifier": "xdmAdmin", "createTime": "2022-12-01T11:24:39.000+0000", "lastUpdateTime": "2022-12-01T11:24:39.000+0000", "rdmVersion": 1, "rdmDeleteFlag": 0, "rdmExtensionType": "Tenant", "tenant": null, "className": "Tenant", "name": "basicTenant", "description": "默认租户", "kiaguid": null, "securityLevel": "internal", "code": "basicTenant", "disableFlag": false, "dataSource": "DefaultDataSource" }, "className": "Design_document", "name": "产品设计", "description": null, "kiaguid": null, "securityLevel": "internal", "income": null, "department": null } ], "errors": [] }
  • URI URI格式: POST http://{Endpoint}/rdm_{appID}_app/services/dynamic/api/{entityName}/create 参数说明: 表1 URI参数说明 参数 是否必填 参数类型 描述 Endpoint 是 String 承载REST服务端点的服务器域名或IP地址。 appID 是 String 应用ID。 entityName 是 String 实体的英文名称。
  • 请求参数 表2 请求body参数 参数 是否必填 参数类型 描述 id 是 Int 唯一编码。 rdmVersion 是 Int 系统版本。 rdmExtensionType 否 String 实体类型。 createTime 否 Date 创建时间。 creator 否 String 创建者。 lastUpdateTime 否 Date 最后更新时间。 modifier 否 String 更新者。 tenant 否 Object 租户。 根据实体类型、功能的不同,请求body参数不同,您可以在全量数据服务查看API具体参数。
  • 对象操作接口 表4 对象操作接口 接口 并行文件系统是否兼容 差异说明 PUT上传 √ 不支持的头域:x-obs-storage-class、x-obs-website-redirect-location、x-obs-server-side-encryption、x-obs-server-side-encryption-kms-key-id、x-obs-server-side-encryption-customer-algorithm、x-obs-server-side-encryption-customer-key、x-obs-server-side-encryption-customer-key-MD5、success-action-redirect、x-obs-expires 不支持直接上传低频和归档存储对象,上传后默认为标准存储,可通过生命周期或元数据修改存储类型。 POST上传 √ 不支持的头域:x-obs-storage-class、x-obs-website-redirect-location、x-obs-server-side-encryption、x-obs-server-side-encryption-kms-key-id、x-obs-server-side-encryption-customer-algorithm、x-obs-server-side-encryption-customer-key、x-obs-server-side-encryption-customer-key-MD5、success-action-redirect、x-obs-expires 复制对象 √ 只支持相同集群内并行文件系统或OBS桶之间进行复制。 获取对象内容 √ - 获取对象元数据 √ - 删除对象 √ - 批量删除对象 √ - 恢复归档存储对象 √ - 追加写对象 × - 设置对象ACL √ - 获取对象ACL √ - 修改对象元数据 √ 并行文件系统不支持修改目录的存储类型。如需修改目录中文件的存储类别,请修改文件的元数据,或者使用生命周期规则批量修改文件存储类别。 修改写对象 √ 并行文件系统新增接口,OBS桶不支持。 截断对象 √ 并行文件系统新增接口,OBS桶不支持。 重命名对象 √ 并行文件系统新增接口,OBS桶不支持。
  • 桶高级配置接口 表2 桶高级配置接口 接口 并行文件系统是否兼容 差异说明 设置桶策略 √ - 获取桶策略 √ - 删除桶策略 √ - 设置桶ACL √ - 获取桶ACL √ - 设置桶日志管理配置 √ - 获取桶日志管理配置 √ - 设置桶的生命周期配置 √ - 获取桶的生命周期配置 √ - 删除桶的生命周期配置 √ - 设置桶的多版本状态 × - 获取桶的多版本状态 × - 设置桶的消息通知配置 √ - 获取桶的消息通知配置 √ - 设置桶默认存储类型 × - 获取桶默认存储类型 × - 设置桶的跨区域复制配置 × - 获取桶的跨区域复制配置 × - 删除桶的跨区域复制配置 × - 设置桶标签 √ - 获取桶标签 √ - 删除桶标签 √ - 设置桶配额 √ - 获取桶配额 √ - 获取桶存量信息 √ - 设置桶清单 × - 获取桶清单 × - 列举桶清单 × - 删除桶清单 × - 设置桶的自定义域名 √ - 获取桶的自定义域名 √ - 删除桶的自定义域名 √ - 设置桶的加密配置 × - 获取桶的加密配置 × - 删除桶的加密配置 × - 设置桶归档对象直读策略 √ - 获取桶归档对象直读策略 √ - 删除桶归档对象直读策略 √ -
  • 解决方法 检查endpoint 使用OBS SDK时需要检查此项。 正确的endpoint格式为obs.regionID.myhuaweicloud.com,当用户将endpoint错误地填写为桶访问域名(bucketname.obs.regionID.myhuaweicloud.com),即在endpoint前多加了桶名,也会报签名不匹配错误。 检查AK、SK 请确保AK、SK输入正确,成对匹配,且与请求所用AK、SK保持一致。 检查HTTP-Verb 签名所用HTTP-Verb与请求所用HTTP-Verb保持一致。 检查Date/Expires Header中携带签名:检查签名所用Date与请求头域所带Date是否一致。 URL中携带签名:检查签名所用Expires与请求URL中的Expires参数是否一致。 如果使用URL签名计算工具,工具中Expires参数设置的是一个时间段,以秒为单位,比如一小时为3600。工具最终生成的URL中的Expires值为有效期的最后时间点。 检查头域 检查Content-MD5、Content-Type、Canonicalized Headers,如果计算签名时有包含在内,发送请求时也必须带上对应的头域。 如果直接在浏览器中使用携带签名的URL访问OBS资源,因为这种方式不能携带头域参数,故在计算签名时也不能携带此类头域。 检查Canonicalized Resource Canonicalized Resource表示请求访问的obs资源,请严格按照API文档中Canonicalized Resource参数的规范设置。详情请参见Header中携带签名或URL中携带签名。 检查StringToSign StringToSign的构造规则为: Header中携带签名: HTTP-Verb + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Date + "\n" + CanonicalizedHeaders + CanonicalizedResource URL中携带签名: HTTP-Verb + "\n" + Content-MD5 + "\n" + Content-Type + "\n" + Expires + "\n" + CanonicalizedHeaders + CanonicalizedResource 值为空的参数处直接换行。 检查签名算法 签名的计算方法: 构造请求字符串(StringToSign); 对第一步的结果进行UTF-8编码; 使用SK对第二步的结果进行HMAC-SHA1签名计算; 对第三步的结果进行Base64编码,header中携带的签名到此得到最终的签名; URL中携带的签名还需要对第4步的结果进行URL编码才能得到最终的签名。 签名验证方法请参见用户签名验证。
  • Psycopg接口参考 Psycopg接口是一套提供给用户的API方法,本节将对部分常用接口做具体描述。 psycopg2.connect() connection.cursor() cursor.execute(query,vars_list) curosr.executemany(query,vars_list) connection.commit() connection.rollback() cursor.fetchone() cursor.fetchall() cursor.close() connection.close() 父主题: API参考
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头中,从而通过身份认证,获得操作API的权限。Token可通过调用获取用户Token接口获取。 调用本服务API需要项目级别的Token,即调用获取用户Token接口时,请求body中“auth.scope”的取值需要选择“project”,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //IAM用户名 "password": "********", //IAM用户密码 "domain": { "name": "domainname" //IAM用户所属账号名 } } } }, "scope": { "project": { "name": "xxxxxxxx" //项目名称 } } } } 获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://iam.cn-north-4.myhuaweicloud.com/v3/auth/projects Content-Type: application/json X-Auth-Token: ABCDEFG.... 您还可以: 通过这个视频教程了解如何使用Token认证:https://bbs.huaweicloud.com/videos/101333。 参考华为云IAM认证服务了解如何获取IAM用户token。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12M以内,12M以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 PATCH:请求服务器更新资源的部分内容。当资源不存在的时候,PATCH可能会去创建一个新的资源。 在“获取用户Token”的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://apm2.cn-north-4.myhuaweicloud.com/v3/auth/tokens
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme: 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint: 指定承载REST服务端点的服务器域名或IP,APM2.0不同服务不同区域使用的终端节点相同,即:华北-北京四。 例如IAM服务在“华北-北京四”区域的Endpoint为“apm2.cn-north-4.myhuaweicloud.com”。 resource-path: 资源路径,也即API访问路径。从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 query-string: 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要获取IAM在“华北-北京四”区域的Token,则需使用“华北-北京四”区域的Endpoint(apm2.cn-north-4.myhuaweicloud.com),并在“获取用户Token”的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://apm2.cn-north-4.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,同一个服务的Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表1。 表1 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于获取用户Token接口,由于不需要认证,所以只添加“Content-Type”即可,添加消息头后的请求如下所示。 1 2 POST https://apm2.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxxxxxxxxxxxxxxx为project的名称,如“cn-north-4”,您可以从地区和终端节点获取。 scope参数定义了Token的作用域,下面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 POST https://apm2.cn-north-4.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxxxxxxxxxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。