阿里云-日志服务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云商城
欢迎访问华云贸联旗下网站
- 专业云服务供应商 -
.Net

简介

  欢迎使用京东云开发者 .NET 工具套件(.NET SDK)。使用京东云 .NET SDK,您无需复杂编程就可以访问京东云提供的各种服务。
  为了方便您理解SDK中的一些概念和参数的含义,使用SDK前建议您先查看OpenAPI使用入门。要了解每个API的具体参数和含义,请参考程序注释或参考OpenAPI&SDK下具体产品线的API文档。

环境准备 & 编译

  • 此项目使用visual studio 2017 开发,如果需要进行代码编辑、调试,推荐使用visual studio 2017 以上版本打开。

  • 本项目使用最新的 dotnet standard 多目标框架的方法进行编译,项目使用了 .NET 3.5 、 .NET 4.0 、 .NET 4.5 和 .net standard 2.0 版本进行编译。在编译前需要安装 .NET Framework 3.5 、4.0 、4.5 的开发sdk和dotnet core 2.0 以上版本的sdk,在windows 10 操作系统下 .NET Framework 3.5 请在 启用和关闭windows功能 的控制面板勾选应用以后再安装visual studio 2017 和 .net framework 4.7 ,.dotnet core 的安装方法请查看微软官网文档。其它目标框架请在安装visual studio时候勾选或微软官方网站下载。

  • 本项目支持在linux 下编译dotnet standard 2.0 版本的sdk,编译的脚本为项目下的linux-bulid.sh,需要拷贝到sdk目录下运行。输出目录请查看脚本自行修改。

  • 因目前Http调用工具类使用HttpClient,如果使用.Net Framework 4.5 需要引用框架包System.Net.Http。因HttpClient不支持.Net Framework 3.5且对.NetFramework 4.0 的异步支持不是很完善,所以在项目中使用了HttpWebRequest进行了替换。

  • 因项目使用了Newtonsoft.Json 作为Json 对象转换的工具包,因此也需要引用Newtonsoft.Json,请在使用的时候选择与您使用的框架对应的版本引用。

  • 如果需要使用其他版本的SDK,请在项目中增加编译版本,同时修改编译判断条件 ,具体编译目标框架编译条件信息参见微软官网文档(Target frameworks页面)。

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

SDK使用方法

  在您的项目中引用需要调用的相关模块的dll 与 此dll所依赖的相关类库文件。然后按照下方调用sdk的Demo使用。
  京东云 .NET SDK可以使用Nuget进行包管理,使用方法如下:

在visual studio Nuget包浏览器查找JDCloudSDK 或者使用包管理控制台输入命令

powershell
Install-Package JDCloudSDK.Vm -Version 1.2.0.1

或者使用 .NET CLI 安装

powershell
dotnet add package JDCloudSDK.Vm --version 1.2.0.1

您还可以下载SDK源码直接添加到项目中或者编译为DLL再引用到项目中。

SDK使用中的任何问题,欢迎您在SDK使用问题反馈页面交流

请选择自己需要使用的模块安装。

注意: 请使用包管理器将 JDCloudSDK.Core 的版本更新到0.2.8,因为0.2.7 版本在post传输数据的时候如果值内有空格会将空格处理掉导致后端发生异常

powershell
Install-Package JDCloudSDK.Core -Version 0.2.8

调用SDK

.NET SDK的调用主要分为4步:

1. 设置accessKey和secretKey
2. 创建Client
3. 设置请求参数
4. 执行请求得到响应

以下是查询单个云主机实例详情的调用示例

csharp
using System;

using Newtonsoft.Json;

using JDCloudSDK.Core.Auth;
using JDCloudSDK.Core.Client;
using JDCloudSDK.Core.Http;
using JDCloudSDK.Vm.Model;
using JDCloudSDK.Vm.Apis;
using JDCloudSDK.Vm.Client;

namespace JDCloudSDK.ConsoleTest
{
    class Program
    {
        static void Main(string[ ] args)
        {
            //1. 设置accessKey和secretKey
            string accessKeyId = "{accessKey}";
            string secretAccessKey = "{secretKey}";
            CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretAccessKey);
            
            //2. 创建XXXClient
            VmClient vmClient = new VmClient.DefaultBuilder()
                     .CredentialsProvider(credentialsProvider)
                     .HttpRequestConfig(new HttpRequestConfig(Protocol.HTTP,10))
                     .Build();

            //3. 设置请求参数
            DescribeInstanceRequest request = new DescribeInstanceRequest();
            request.RegionId="cn-north-1";
            request.InstanceId="i-c0se9uju";
            
            //4. 执行请求
            var response = vmClient.DescribeInstance(request).Result;
            Console.WriteLine(JsonConvert.SerializeObject(response))
            Console.ReadLine();
        }
    }
}

如果需要设置额外的header,例如要调用开启了MFA操作保护的接口,需要传递x-jdcloud-security-token,则按照如下方式:

csharp
vmClient.SetCustomHeader("x-jdcloud-security-token","xxx");
如果需要设置访问点,配置超时等,请参考下面的例子:
csharp

//1.设置accessKey和secretKey
string accessKeyId = "";
string secretAccessKey = "";
CredentialsProvider credentialsProvider = new StaticCredentialsProvider(accessKeyId, secretAccessKey);
//2.构建请求终结点配置
SDKEnvironment sdkEnvironment = new SDKEnvironment("nativecontainer.internal.cn-north-1.jdcloud-api.com");
//3.创建XXXClient
VmClient vmClient = new VmClient.DefaultBuilder()
        .CredentialsProvider(credentialsProvider)
        .Environment(sdkEnvironment) //指定非默认的Endpoint
        .HttpRequestConfig(new HttpRequestConfig(Protocol.HTTP, 50))  // 设置请求http schema HTTP or HTTPS ,50 为超时时间默认为秒
        .Build();

如果要读取请求response的各种信息(例如某一个header的值),可按照如下方式:

csharp
 Dictionary<string,List<string>> headers = response.HttpResponse.Header;
if (headers.ContainsKey("headerKey")) {
    List<string> headerValue = headers["headerKey"];
}

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

注意:

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

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

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

产品文档(1)

   .Net

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