检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
调用API网关中开放的API报错,请按以下顺序排查可能原因: 调用API所使用的域名、请求方法、路径不正确。 比如创建的API为POST方法,您使用了GET方法调用。
各云服务API参考手册中的“如何调用API”章节,介绍了认证方法。 SDK打包在示例中,可单独获取SDK,然后参考示例与各语言的API调用说明部分,将SDK集成到您的应用中。 如果本手册的多语言签名示例没有涵盖您使用的编程语言,请根据签名流程与算法,自主实现请求的签名。
AK/SK签名认证流程 客户端涉及的AK/SK签名以及请求发送的流程概述如下: 构造规范请求。 将待发送的请求内容按照与API网关后台约定的规则组装,确保客户端签名、API网关后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名
API调用是否支持长连接 API网关支持长连接。 注意适当使用,避免占用太多资源。 父主题: 常见问题
举例: 本示例为GET方法,body体为空。
解决方法 请参考Incorrect IAM authentication information: verify aksk signature fail。
解决方法 检查AK填写是否正确。 父主题: 常见问题
处理 APIGW.0101 The API does not exist. 404 API请求方法不存在 检查API请求方法是否与API定义的方法相同 APIGW.0103 The backend does not exist. 404 无法找到后端 联系技术支持 APIGW.0104
如果您使用华为云提供的SDK进行签名,则不需要考虑哪些请求消息头参数参与签名,SDK的签名方法自行决定哪些参数参与签名,并生成签名信息。如果某个请求消息头参数的值在签名后会发生变化,请完成签名后再对其赋值。 父主题: 常见问题
为了账号安全性,建议您妥善保管并定期修改访问密钥,修改访问密钥的方法为删除旧访问密钥,然后重新生成。 父主题: AK/SK签名认证操作指导
添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm
source ~/.bashrc 创建request,填入已设置的环境变量,并指定域名、方法名、请求uri和body。
以虚拟私有云服务的查询VPC列表接口为例,HTTP方法为GET,域名(Endpoint)为service.region.example.com,请求URI:/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?
$signer->Key = getenv('HUAWEICLOUD_SDK_AK'); $signer->Secret = getenv('HUAWEICLOUD_SDK_SK'); 生成一个新的Request,指定域名、方法名、请求uri和body。
Key: os.Getenv("HUAWEICLOUD_SDK_AK"), Secret: os.Getenv("HUAWEICLOUD_SDK_SK"), } 生成一个新的Request,指定域名、方法名、请求url和body。
HUAWEICLOUD_SDK_AK and HUAWEICLOUD_SDK_SK. sig.Key = process.env.HUAWEICLOUD_SDK_AK sig.Secret = process.env.HUAWEICLOUD_SDK_SK 生成一个新的Request,指定域名、方法名
Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_AK"); signer.Secret = Environment.GetEnvironmentVariable("HUAWEICLOUD_SDK_SK"); 生成一个新的Request,指定域名、方法名
Signer signer(getenv("HUAWEICLOUD_SDK_AK"), getenv("HUAWEICLOUD_SDK_SK")); 生成一个新的RequestParams,指定方法名、域名、请求uri、查询字符串和body。
sig_str_t ak = sig_str(getenv("HUAWEICLOUD_SDK_AK")); sig_str_t sk = sig_str(getenv("HUAWEICLOUD_SDK_SK")); params.key = ak; params.secret = sk; 指定方法名
Java 本节以IDEA工具为例,介绍如何在Java环境中集成API请求签名的SDK。您可以直接导入示例代码,然后参考调用说明部分将签名SDK集成到您的应用中。 签名SDK只包含签名功能,不包含云服务的SDK功能,云服务SDK请参见SDK。 准备环境 获取并安装IDEA 2022.2.1