阿里云-日志服务SLS云虚拟主机云托付专有宿主机阿里云-高性能计算阿里云-云服务器块存储EBS对象存储OSS文件存储NAS表格存储混合云备份混合云存储阵列sa混合云容灾HDR存储容量单位包云原生关系型数据库PolarDB云原生分布式数据库 PolarDB-X云数据库RDS MySQL 版云数据库RDS SQL Server 版云数据库RDS PostgreSQL 版云原生数据仓库AnalyticDB MySQL版云原生数据仓库 AnalyticDB PostgreSQL云原生数据湖分析云原生多模数据库 Lindorm云数据库 Redis 版云数据库 MongoDB 版云数据库 HBase 版云数据库专属集群MyBase云数据库 OceanBase 版数据库自治服务DASDDOS防护WEB应用防火墙云安全中心云防火墙SSL证书数据安全中心风险识别应用身份服务MaxComputeMaxCompute 交互式分析E-MapReduceElasticsearch实时计算 Flink 版智能数据构建与管理 Dataphin数据总线DataWorksQuick BI 数据可视化分析平台专有网络VPC弹性公网PCDN负载均衡NAT网关共享流量包共享宽带全球加速VPN网关云企业网智能接入网关CDN边缘节点服务ENS视频直播视频点播音视频通信媒体处理容器服务ACK企业级分布式应用消息队列 RocketMQ 版消息队列 Kafka 版函数计算FC性能测试PTS应用实时监控服务AliOS Things企业物联网平台物联网边缘计算物联网无线连接服务钉钉宜搭阿里邮箱云呼叫中心移动开发平台 mPaaS短信服务号码隐私保护号码认证服务混合云管理平台移动研发平台机器学习平台内容安全智能对话机器人自然语言处理NLP全息空间图像搜索图像识别智能语音交互云服务器BCC云数据库 SCS for Redis 版云数据库RDS负载均衡负载均衡BLB智能云解析DNS弹性公网IP EIP共享宽带NAT网关私有网络VPC对等连接VPN网关内容分发网络CDN专属服务器DCC函数计算CFC云磁盘CDS对象存储BOS云应用引擎百度太行·弹性裸金属服务器云呼叫中心容器实例短视频 SDK实时音视频RTC视频创作分发平台音视频直播音视频处理云虚拟主机智能门户短网址服务SSL证书文档服务ElasticsearchMapReduce消息服务 for Kafka百度数据仓库 Palo Doris版日志服务BLS数据可视化Sugar应用防火墙 WAFDDoS防护服务号码安全服务 SPNS流量审计人脸离线识别SDK人脸识别人脸识别私有化部署包文字识别银行卡识别通用场景文字识别网络图片文字识别语言处理基础技术图像识别人体分析智能对话定制与服务平台UNIT图像搜索图像增强人体分析私有化部署包身份证识别商标注册智能呼叫文档服务离线语音合成媒体内容审核物联网核心套件时序时空数据库TSDB云监控问卷调研服务腾讯智能钛机器学习 TI-ML全球应用加速全站加速网络内容分发网络安全加速网络DNS域名解析T-Sec 等级保护合规咨询服务T-Sec 业务风险情报T-Sec 安全运营中心T-Sec 天御 风控平台腾讯会议腾讯企业邮云硬盘CBS云HDFS文件存储CFS日志服务CLS归档存储存储网关CSG对象存储网络消息服务Ckafka消息服务CMQ短信SMS即时通信边缘计算机弹性容服务器黑石物理服务器云函数SFC云服务器CVM专用宿主机CDH云点播实时音视频视频处理企业直播云直播移动直播SDK数据万象数据安全审计敏感数据处理云加密机密钥管理系统堡垒机云数据库独享集群分布式数据库DCDB云数据库 TencentDB for CTSDB云数据库 TencentDB for MongoDB云数据库 TencentDB for Memcached云数据库 TencentDB for MariaDB云数据库 TencentDB for MySQL云数据库 TencentDB for PostgreSQL云数据库 TencentDB for Redis云数据库 TencentDB for SQL Server自定义模板 OCR图像分析apinodenetc++gopythonphpjava
China云商城
欢迎访问华云贸联旗下网站
- 专业云服务供应商 -
Rust

京东云 Rust 签名库

基本说明

京东云Rust签名工具提供了Rust语言访问京东云OpenAPI时的请求签名功能。

在开始调用京东云open API之前,需提前在京东云用户中心账户管理下的AccessKey管理页面申请accesskey和secretKey密钥对(简称AK/SK)。AK/SK信息请妥善保管,如果遗失可能会造成非法用户使用此信息操作您在云上的资源,给你造成数据和财产损失。

Usage: 普通方式

Cargo.toml

添加如下一段到你的 Cargo.toml

[dependencies]
jdcloud_signer = "0.1"

使用范例

详细范例参见 client.rs

sh
$ export JDCLOUD_AK="..."
$ export JDCLOUD_SK="..."
$ cargo run --example client
    Finished dev [unoptimized + debuginfo] target(s) in 0.37s
     Running `target/debug/examples/client`
status: 200 OK
content-type: "application/json; charset=utf-8"
transfer-encoding: "chunked"
connection: "close"
date: "Mon, 22 Jul 2019 09:18:34 GMT"
x-jdcloud-request-id: "bkrovrdrv8ewru46782326noreauvdsf"
x-jdcloud-operationid: "describeInstances"
x-jdcloud-upstream-latency: "310"
x-jdcloud-proxy-latency: "30"
via: "jd-gateway/1.0.1"
requestId: "bkrovrdrv8ewru46782326noreauvdsf"

Usage: 只签名方式

如果你不喜欢 reqwest, 准备使用自己的http库,那么可以选择只做签名。

签名时我们会添加如下几个 Header 字段

  • User-Agent: 如果未指定,那么设为 "JdcloudSdkRust/0.1.0", 如果已指定,则不做改动。

  • X-Jdcloud-Date: 当前时间。

  • X-Jdcloud-Nonce: 随机数。

  • Authorization: 签名。

Cargo.toml

添加如下一段到你的 Cargo.toml

[dependencies]
jdcloud_signer = { version = "0.1", default-features = false }

使用范例

rust
use jdcloud_signer::{Credential, Signer};
use http::Request;

fn main() {
    let ak = "...";
    let sk = "...";
    let credential = Credential::new(ak, sk);
    let signer = Signer::new(credential, "vm".to_string(), "cn-north-1".to_string());

    let mut req = Request::builder();
    let mut req = req.method("GET")
        .uri("https://vm.jdcloud-api.com/v1/regions/cn-north-1/instances")
        .body("".to_string()).unwrap();
    signer.sign_request(&mut req).unwrap();
    println!("{}", req);
}

更多调用示例参考 SDK使用Demo

注意:

  • 京东云并没有提供其他下载方式,请务必使用上述官方下载方式!

  • version 的版本号需要使用京东云产品提供的最新版本号。例如:示例中VM所使用的最新版本号可到官方提供的API 更新历史 中查询到。

  • 每支云产品都有自己的Client,当调用该产品API时,需使用该产品的Client。例如:使用云主机的VmClient只能调用云主机(Vm)的接口;使用高可用组的AgClient只能调用高可用组(Ag)的接口。

产品文档(1)

   Rust

访问量
在线客服
 
 
热线电话
400-0859-668
留言提交
 
 
 
 
会员登录
获取验证码
登录
登录
其他账号登录:
我的资料
我的收藏
购物车
0
留言
回到顶部