• Stars
    star
    110
  • Rank 306,868 (Top 7 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created almost 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

alibaba cloud for iot device javascript SDK , connect with linkplatform , run at node/broswer/winxin min program /ali min program. 阿里云IoT物联网平台javascript版本sdk,可以运行在node/broswer/winxin min program /ali min program. 阿里云IoT物联网平台javascript版本sdk,可以运行在node/broswer/winxin min program /ali min program

alibabacloud IoT Device SDK for Javascript

阿里云IoT官方版本

alibabacloud IoT Device SDK提供设备接入阿里云IoT物联网平台(LinkPlatform)的JavaScript版本的sdk,可以运行在node,broswer,微信小程序,支付宝小程序环境,封装LinkPlatform物联网平台的设备端能力,如设备连接云平台,数据pub,sub的上下行通讯。还有许多高级功能,如影子设备,远程配置,基于设备物模型(属性、服务、事件)的开发模式,网关和子设备的能力等,基于SDK的设备端开发或设备应用开发,可以极大简化开发门槛。

如果有使用问题可以反馈到[email protected],关于IoT物联网平台更多功能和功能详细说明,参考官网文档 https://help.aliyun.com/product/30520.html

优点

  • 阿里云物联网平台js版本官方sdk
  • 支持node、broswer、微信小程序、支付宝小程序环境运行
  • 体积小,压缩版本仅有418k
  • 已为数十万设备或小程序提供链接服务

安装

安装 Node.js 运行环境,版本 >=4.0.0

通过 npm 包管理工具安装:

npm install alibabacloud-iot-device-sdk --save

当前稳定版本 1.2.4 当前最新版本 1.2.8

特别注意

支付宝小程序使用注意: 支付宝最新版本容器升级后导致支付宝小程序无法使用 'alibabacloud-iot-device-sdk.js' ,请使用支付宝定制版本 'alibabacloud-iot-device-sdk-1.2.8-alimin-compatible.js',请在dist目录下下载

快速开始

// node引入包名
const iot = require('alibabacloud-iot-device-sdk');
// 浏览器、微信小程序,支付宝小程序引入./dist编译的js文件
// const iot = require('./dist/alibabacloud-iot-device-sdk.js');
// 特别注意:支付宝最新版本容器升级后导致支付宝小程序无法使用 'alibabacloud-iot-device-sdk.js' ,请使用支付宝定制版本  'alibabacloud-iot-device-sdk-1.2.8-alimin-compatible.js',请在dist目录下下载
// js版本下载地址:
//    https://github.com/aliyun/alibabacloud-iot-device-sdk/tree/master/dist  或
//    alibabacloud-iot-device-sdk.js 下载地址 https://unpkg.com/[email protected]/dist/alibabacloud-iot-device-sdk.js  或
//    alibabacloud-iot-device-sdk.min.js 下载地址 https://unpkg.com/[email protected]/dist/alibabacloud-iot-device-sdk.min.js  
//  

const device = iot.device({
  productKey: '<productKey>',
  deviceName: '<deviceName>',
  deviceSecret: '<deviceSecret>',
  // 支付宝小程序和微信小程序额外需要配置协议参数
  // "protocol": 'alis://', "protocol": 'wxs://',
});
device.subscribe('/<productKey>/<deviceName>/get');
device.on('connect', () => {
  console.log('connect successfully!');
  device.publish('/<productKey>/<deviceName>/update', 'hello world!');
});
device.on('message', (topic, payload) => {
  console.log(topic, payload.toString());
});

物模型使用

LinkPlatform 封装了物模型定义与 Alink 异步协议,SDK 封装使得设备与云端通信时不需要关心 MQTT topic,只需要调用属性上报(iot.device#postProps())、服务监听(iot.device#onService())、事件上报(iot.device#postEvent())等相关 API。

设备属性上报

device.on('connect', () => {
  device.postProps({
    LightSwitch: 0
  }, (res) => {
    console.log(`postProps:`,res);
  });
});

调用 device.postProps() 等同于执行以下代码:

// 发布属性上报 topic
device.publish('/sys/<productKey>/<deviceName>/thing/event/property/post', JSON.stringify({
  {
    id: msgId,
    version: '1.0',
    params: {
      'LightSwitch': 25,
    },
    method: 'thing.event.property.post'
  }
}));

// 监听属性上报响应 topic
device.subscribe('/sys/<productKey>/<deviceName>/thing/event/property/post_reply');
device.on('message', function(topic, message){
  const res = message.toString();
  if (res.id === msgId) {
    // 在这里处理服务端响应
    console.log(res.data);
  }
});

监听云端下发的服务调用消息

// 监听云端设置属性�wakeup_async服务消息
device.onService('wakeup_async', function (res,reply) {
  // 处理服务参数
  console.log('wakeup_async',res);
  // 返回云端异步服务处理消息
  reply({
    "code": 200,
    "data": {out:1}
  });
});

其他更多功能,请查api列表,值得注意的是,更多示例,见源码example文件夹

  • device继承自mqtt.js的EventEmitter,可以使用其全部方法
  • gateway可以使用device的全部api
  • subDevice也可以使用device的全部api

API

设备相关

网关相关(网关也可以使用设备相关的api)

子设备

  • 与设备api相同,通过网关的login()方法返回子设备实例

动态注册

iot.device(options)

和云端建立连接,返回一个 Device 连接实例,入参:

  • options
    • productKey (String)
    • deviceName (String)
    • deviceSecret (String)
    • region (String) 阿里云 region,默认值:cn-shanghai
    • tls (Bool) 是否开启 TLS 加密,Node.js 中如果开启将使用 TLS 协议进行连接,浏览器如果开启将上使用 WSS 协议
    • keepalive (int) 心跳报文时间间隔,默认值60秒
    • clean (bool) cleansession,是否清除连接session设置,默认值false
const device = iot.device({
  productKey: '<productKey>',
  deviceName: '<deviceName>',
  deviceSecret: '<deviceSecret>'
});

Event 'connect'

function(connack) {}

当连接到云端成功时触发。

const iot = require('alibabacloud-iot-device-sdk');

const device = iot.device({
  productKey: '<productKey>',
  deviceName: '<deviceName>',
  deviceSecret: '<deviceSecret>'
});

device.on('connect', () => {
  console.log('connected!');
});

Event 'message'

function(topic, message) {}

当接受到云端消息时触发,回调函数参数:

  • topic 消息主题
  • message 消息 payload
device.on('message', (res) => {
  console.log('msg:',res);
});

Event 'error'

注意:由于nodejs的event机制,如果未监听error事件,当出现错误时会throw一个error,未try catch会导致程序终止,建议error事件需要监听

node对于这个error处理的解释: When an error occurs within an EventEmitter instance, the typical action is for an 'error' event to be emitted. These are treated as special cases within Node.js. If an EventEmitter does not have at least one listener registered for the 'error' event, and an 'error' event is emitted, the error is thrown, a stack trace is printed, and the Node.js process exits. 原文地址:https://nodejs.org/api/events.html

device.on('error', (err) => {
  console.log('error:',err);
});

当连接出错触发

iot.device#publish(topic, message, [options], [callback])

  • topic :topic值 String 类型
  • message 需要发送的消息, 数据格式为Buffer or String 类型
  • options
    • qos qos级别 number 类型 ,默认值0
    • retain
    • dup
  • callback
device.publish('/<productKey>/<deviceName>/update', 'hello world!');
device.publish('/<productKey>/<deviceName>/update', 'hello world!',{
  qos:1 // default 0
});

iot.device#subscribe(topic, [callback])

订阅消息,等同于 mqtt.Client#subscribe() 方法。

iot.device#unsubscribe(topic, [callback])

取消订阅消息等同于 mqtt.Client#unsubscribe() 方法。

iot.device#postProps(params, [callback])

上报物模型属性:

  • params 属性参数,Object 类型
  • callback
    • res 服务端 reply 消息内容

// 上报设备属性
device.postProps({
  LightSwitch: 0
}, (res) => {
  console.log(res);
});

iot.device#onProps(cb)

上报物模型属性:

  • refuns
    • cb 回调函数

device.onProps((res)=>{
  console.log('>>>onProps',res);
})

iot.device#postEvent(eventIdentifier, params, [callback])

上报物模型事件:

  • eventName 事件名称 String 类型
  • params 事件参数,Object 类型
  • callback
    • err 错误,比如超时
    • res 服务端 reply 消息内容
// 上报设备事件
device.postEvent("lowpower", {
  power: 10,
}, (res) => {
  console.log(`postEvent:${res}`);
})

iot.device#onService(seviceIdentifier, [callback])

监听物模型服务:

  • seviceName 服务名称,String 类型
  • callback
    • res 服务端返回参数
    • reply 响应服务的函数,可以使用同步可以异步方式响应

relpy(params,[async or sync])

  • params 响应返回的数据
    • id 返回服务端的消息id,可以不填会自动生成
    • code 响应服务端的code,200为成功
    • data 响应服务端的数据
  • type 响应服务的类型,根据选择物模型服务的类型,同步或异步,选填 'async' or 'sync'
// 假设物模型中有 wakeup_async的异步服务和wakeup_sync的同步服务,输出值都为out 
// 异步方式回复
device.onService('wakeup_async', function (res,reply) {
  // 处理服务参数
  console.log('^onService',res);
  reply({
    "code": 200,
    "data": {out:1}
  });
})

// 同步方式回复
device.onService('wakeup_sync', function (res,reply) {
  // 处理服务参数
  console.log('^onService',res);
  reply({
    "code": 200,
    "data": {out:1}
  },'sync');
})

iot.device#end([force], [options], [callback])

设备或网关断开连接,等同于 mqtt.Client#end() 方法。

iot.device#postTags(params, [callback])

上报设备标签:

  • params 属性对象数组,array 类型,内容格式示例 [ {attrKey:'xxx',attrValue:'xxx'},{}...]
    • attrKey 错误,比如超时或者 res.code !== 200
    • attrValue 服务端 reply 消息内容
  • callback
    • res 服务端 reply 消息内容
  • 每次重新上报设备标签相同key会覆盖内容,不同key会增加标签
  • params 示例:
const tags = [
  {
    "attrKey": "Temperature",
    "attrValue": "36.8"
  }
]
device.postTags(
  tags,
  (res) => {
    console.log(`add tag ok res:${res.id}`);
    done()
  }
);

iot.device#deleteTags(tags)

删除设备标签:

  • tags 属性参数,array 类型,内容格式 [ 'string','string',....]
    • string 内外为tag的标签名称
  • 示例:
device.deleteTags(['tagA','tagB']);

iot.device#getConfig(callback)

获取设备远程配置:

  • callback 回调函数
    • res:当前设备的远程配置
  • 示例:
device.getConfig((res) => {
  console.log("getConfig:",res);
});

iot.device#onConfig(callback)

订阅设备远程配置,当云端修改远程配置时,设备端会收到消息:

  • callback 回调函数
    • res:当前设备的远程配置
  • 示例:
device.onConfig((res) => {
  console.log("onConfig,res:",res);
});

iot.device#onShadow(callback)

订阅设备影子回调函数方法:

  • callback 回调函数
    • res当影子设备变化或获取影子设备消息,上报影子消息时回调
  • 示例:
device.onShadow((res) => {
  console.log('获取最新设备影子,%o', res);
})

iot.device#getShadow()

获取设备影子最新:

  • 示例:
// 设备主动获取影子,回调函数会触发onShadow方法,返回设备影子信息
device.getShadow();

iot.device#postShadow(params)

上报设备影子数据

  • params 上报影子设备的实际值
  • 示例:
// 上报成功或错误都会触发onShadow方法,返回设备影子信息
device.postShadow({
  a: "avalue"
});

iot.device#deleteShadow(keys)

删除影子设备的属性值

  • keys 需要删除设备影子的属性的key数组
  • 除了数组外,如果传入单个key,可以删除单个属性,传入空会删除全部属性
  • 示例:
// 删除单个影子设备属性
device.deleteShadow("a");
// 删除多个影子设备属性
device.deleteShadow(["a","b"]);
// 删除所有影子设备属性
device.deleteShadow()

iot.gateway(options)

和云端建立连接,返回一个网关 Gateway 类连接实例,继承自 Device � 类。网关可以使用设备的所有方法

  • options
    • productKey (String)
    • deviceName (String)
    • deviceSecret (String)
    • region (String) 阿里云 region,默认值:cn-shanghai
    • tls (Bool) 是否开启 TLS 加密,Node.js 中如果开启将使用 TLS 协议进行连接,浏览器如果开启将上使用 WSS 协议
    • keepalive (int) 心跳报文时间间隔,默认值60秒
    • clean (bool) cleansession,是否清除连接session设置,默认值false
const device = iot.gateway({
  productKey: '<productKey>',
  deviceName: '<deviceName>',
  deviceSecret: '<deviceSecret>'
});

iot.gateway#addTopo(deviceSign, [callback])

添加子设备到拓扑

  • params 子设备三元组数组,[{productKey,deviceName,deviceSecret},{productKey,deviceName,deviceSecret},]
  • callback
    • res 服务端 reply 消息内容
gateway.addTopo(
  [sub_device1,sub_device2],
  (res)=>{console.log('>>>>>getTopo',res.message,res.data);}
);

iot.gateway#getTopo(callback)

添加子设备到拓扑关系

  • callback
    • res 服务端 reply 消息内容
gateway.getTopo(
  (res)=>{
    console.log(res)
  }
);

iot.gateway#removeTopo(params, [callback])

从拓扑关系里移除子设备

  • params 移除设备参数的数组,示例:[{"productKey": "xx","deviceName": "xx"},{"productKey": "xx","deviceName": "xx"},....]
    • productKey
    • deviceName
  • callback
    • res 服务端 reply 消息内容
gateway.removeTopo(
  [{"productKey": "xx","deviceName": "xx"},{"productKey": "xx","deviceName": "xx"}],
  (res)=>{
    console.log('>>>>>getTopo')
    console.log(res.message)
    console.log(res.data)
  }
);

iot.gateway#login(params, [callback])

子设备上线

  • params 登录的设备信息示例:{"productKey": "xx","deviceName": "xx",}
    • productKey (String)
    • deviceName (String)
    • deviceSecret (String)
  • callback
    • res 服务端 reply 消息内容
  • 返回值 返回一个子设备,子设备可以使用设备的api,做相关的操作
gateway.on('connect', () => {
  //子设备登录ok
  sub1 = gateway.login(
    {"productKey":"xx","deviceName":"xx","deviceSecret":"xxx"},
    (res) => {
      console.log('>>>>>login', res);
    }
  );
  // 子设备连接状态
  sub1.on('connect', () => {
    console.log(">>>>sub connected!");
    // do something 
    sub1.postProps({
      LightSwitch: 0
    },(res)=>{
      console.log(">>>>sub postProps!");
      console.log(res);
    });
  });
});

iot.gateway#logout(params, [callback])

子设备下线

  • params 子设备身份
    • productKey (String)
    • deviceName (String)
  • callback
    • res 服务端 reply 消息内容
gateway.logout(
  {"productKey": "xxxxx","deviceName": "xxxxx"},
  (res) => {
    console.log('>>>>>logout', res);
  }

iot#register(params, [callback])

直连设备动态注册(小程序环境不支持此方法)

  • params 子设备身份 object 实例 productKey:"a15YDgQGhU0",
    • productKey
    • productSecret
    • deviceName
  • callback
    • res 服务端 reply 消息内容,包含设备三元组
const params = {
  productKey:"xxxxxx",
  productSecret:"xxxxxx",
  deviceName:"xxxxxx"
}
iot.register(params,(res)=>{
  console.log("register:",res);
  if(res.code == '200'){
    // 注册成功请保存设备三元组,只会返回一次
  }
})

iot.gateway#regiestSubDevice(params, [callback])

通过网关注册子设备(小程序环境不支持此方法)

  • params 子设备身份信息,可以是单个{productKey,deviceName}或者是一组[{productKey,deviceName},{productKey2,deviceName2}]进行批量注册
    • productKey
    • deviceName
  • callback
    • res 服务端 reply 消息内容
const gateway = iot.gateway({
  productKey: '<productKey>',
  deviceName: '<deviceName>',
  deviceSecret: '<deviceSecret>'}
);
gateway.on('connect', () => {
  gateway.regiestSubDevice([{"deviceName": "xxx","productKey": "xxx"}],(res)=>{
    if(res.code == '200'){
      // 注册成功请保存设备三元组,只会返回一次
    }
  });
});

平台返回res统一格式

  • id 发送请求的消息id,sdk中会自动生成
  • message 返回的消息
  • data 返回的数据
  • code 服务端返回消息的状态码,常见code如下
    • 200 成功
    • 400 内部服务错误, 处理时发生内部错误
    • 429 请求过于频繁,设备端处理不过来时可以使用
    • 460 请求参数错误
    • 520 子设备会话不存在

example说明

注意: example中的iot引用,const iot = require('../lib');,如果在github工程以外使用,需要换成 const iot = require('alibabacloud-iot-device-sdk');

example见github开源工程中example目录 https://github.com/aliyun/alibabacloud-iot-device-sdk

  • broswer 浏览器中使用demo 路径 /example/broswer/index.html
  • quickstart 快速开始demo 路径 /example/quickstart
  • props 物模型-属性demo 路径 /example/props.js
  • event 物模型-事件demo 路径 /example/event.js
  • service_async 物模型-异步服务demo 路径 /example/service_async.js
  • service_sync 物模型-同步服务demo 路径 /example/service_sync.js
  • origin 基础mqtt pub,sub使用 路径 /example/origin.js
  • remote_confit_get 远程配置-主动获取 路径 /example/remote_confit_get.js
  • remote_confit_sub 远程配置-订阅获取 路径 /example/remote_confit_sub.js
  • tag 设备标签获取 路径 /example/tag.js
  • shadow 设备影子 路径 /example/shadow.js
  • one_model_one_secret 一型一密使用demo 路径 /example/one_model_one_secret.js
  • forward 通过规则引擎转发后订阅数据的示例

版本更新说明

1.2.8

  • 使用crypto-js替代原生的crypto做设备签名加密功能,浏览器和微信支付宝小程序的编译大小,min压缩版从661k减少到418k,体积减少37%

1.2.7

  • 增加onProps方法,用于监听云端对物模型属性设置的监听
  • 解决postEvent和postProps回调中内容不正确的问题

1.2.5

  • 修复网关使用mqtt pub和sub时字符转译报错的警告

1.2.4 稳定版本

  • 包名的修改,从 aliyun-iot-device-sdk 正式改名为 alibabacloud-iot-device-sdk
  • 增加对微信小程序,支付宝小程序的支持,浏览器的支持 教程连接 ./docs
  • 增加onService中reply函数,并支持同步和异步调用
// 假设物模型中有 wakeup_async的异步服务和wakeup_sync的同步服务,输出值都为out 
// 异步方式回复
device.onService('wakeup_async', function (res,reply) {
  // 处理服务参数
  console.log('^onService',res);
  reply({
    "code": 200,
    "data": {out:1}
  });
})

// 同步方式回复
device.onService('wakeup_sync', function (res,reply) {
  // 处理服务参数
  console.log('^onService',res);
  reply({
    "code": 200,
    "data": {out:1}
  },'sync');
})
  • 增加onConfig方法用于订阅云端远程配置更新
  • 增加部分功能的example
  • 重写了网关子设备subdevice的实现

1.0.1版本更新

  • 对核心代码进行了重构
  • 增加设备标签上报功能
  • 增加删除标签功能
  • 增加了设备动态注册功能
  • 增加设备影子相关功能
  • 增加获取设备配置功能
  • [非兼容性升级]网关设备之前的删除topo方法名和文档不一致,去掉了deleteTopo方法,统一使用removeTopo
  • [非兼容性升级]网关类方法,入参需要signUtil的逻辑去除,直接传入设备信息
  • [非兼容性升级]去掉signUtil方法导出
  • [非兼容性升级]初始化device和gateway时候签名方法参数从signAlgorithm改为signmethod
  • [非兼容性升级]设备的serve方法改成onService
  • [非兼容性升级]修改返回函数的res格式,取消err作为第一个参数,code,mssage都会放在res里面
  • [非兼容性升级]去掉网关设备的方法 postSubDeviceProps,postSubDeviceEvent,serveSubDeviceService,改成使用子设备调用
// iot.gateway#postSubDeviceProps()
// iot.gateway#postSubDeviceEvent()
// iot.gateway#serveSubDeviceService()

const sub = gateway.login(
  sub_device1,
  (res)=>{console.log('>>>>>login',res);}
);

sub.on('connect', () => {
  console.log(">>>>sub connected!");
  sub.postProps({
    LightSwitch: 0
  },(res)=>{
      console.log(">>>>sub postProps!");
      console.log(res);
  });
}); 
setTimeout(()=>{
  gateway.logout(
      sub_device1,
      (res)=>{console.log('>>>>>logout',res);}
  );
},5000)

0.3.1版本更新

  • productKey,deviceName,deviceSecret大小写经常容易忽略,新版本支持忽略大小写,也可以连接上

0.3.0版本更新

1:初始化连接option选择增加支持keepalive和clean(cleansession)配置 2:修改regionId为region,并兼容之前的regionId参数

研发中常见的问题

1:onMessage多次回调,示例如下

// 错误示例
const device = iot.device({...,...});
device.on('connect', (res) => {
  device.on('message',(topic,payload) => {
      // you biz logic at here
  });
});

// 错误原因  device.on('message')委托放在 device.on('connecnt')中会导致多次绑定,产生message中的函数多次重复触发

// 正确示例
const device = iot.device({...,...});
device.on('connect', (res) => {
 
});
device.on('message',(topic,payload) => {
    // you biz logic at here
});

More Repositories

1

oss-browser

OSS Browser 提供类似windows资源管理器功能。用户可以很方便的浏览文件,上传下载文件,支持断点续传等。
JavaScript
3,111
star
2

aliyun-openapi-java-sdk

Alibaba Cloud SDK for Java
Java
1,379
star
3

aliyun-oss-java-sdk

Aliyun OSS SDK for Java
Java
1,195
star
4

alibaba-cloud-sdk-go

Alibaba Cloud SDK for Go
Go
1,104
star
5

alicloud-android-demo

Java
982
star
6

aliyun-openapi-python-sdk

Alibaba Cloud SDK for Python
Python
980
star
7

aliyun-oss-php-sdk

Aliyun OSS SDK for PHP
PHP
975
star
8

aliyun-oss-go-sdk

Aliyun OSS SDK for Go
Go
933
star
9

aliyun-oss-python-sdk

Aliyun OSS SDK for Python
Python
907
star
10

darabonba

Darabonba 是一种用于 OpenAPI 的 DSL 语言,可以用来生成多语言的 SDK、Code Sample、Test Case 等代码
JavaScript
894
star
11

alibabacloud-alfa

阿里云微前端解决方案
TypeScript
838
star
12

aliyun-oss-android-sdk

Android SDK for aliyun object storage service
Java
793
star
13

aliyun-cli

Alibaba Cloud CLI
Go
770
star
14

ossfs

Export s3fs for aliyun oss.
C++
718
star
15

aliyun-openapi-php-sdk

[Abandoned] Open API SDK for PHP developers
PHP
605
star
16

terraform-provider-alicloud

Terraform AliCloud provider
Go
573
star
17

aliyun-openapi-net-sdk

Alibaba Cloud SDK for .NET
C#
534
star
18

rds_dbsync

围绕 PostgreSQL Greenplum ,实现易用的数据的互迁功能项目
C
528
star
19

openapi-sdk-php

Alibaba Cloud SDK for PHP
PHP
501
star
20

iotkit-embedded

高速镜像: https://code.aliyun.com/linkkit/c-sdk
C
492
star
21

aliyun-oss-ios-sdk

iOS SDK for aliyun object storage service
Objective-C
450
star
22

alicloud-ios-demo

Demos for AMS iOS SDKs
Objective-C
427
star
23

ossutil

A user friendly command line tool to access AliCloud OSS.
Go
427
star
24

aliyun-odps-python-sdk

ODPS Python SDK and data analysis framework
Python
407
star
25

api-gateway-demo-sign-java

aliyun api gateway request signature demo by java
Java
371
star
26

alibabacloud-microservice-demo

An Alibaba Cloud native microservice demo powered by Apache Dubbo and Spring Cloud Alibaba
Java
364
star
27

aliyun-oss-csharp-sdk

Aliyun OSS SDK for C#
C#
360
star
28

NeWCRFs

Python
344
star
29

surftrace

surftrace is a tool that allows you to surf the linux kernel
Python
332
star
30

conditional-lane-detection

Python
328
star
31

aliyun-log-jaeger

Go
294
star
32

tablestore-examples

Example code for aliyun tablestore.
Java
236
star
33

tablestore-timeline

TableStore-Timeline Model for Social scene
Java
236
star
34

coolbpf

C
222
star
35

openapi-sdk-php-client

Official repository of the Alibaba Cloud Client for PHP
PHP
214
star
36

aliyun-log-c-sdk

Aliyun LOG Producer for C/C++
C
212
star
37

aliyun-log-logback-appender

Java
176
star
38

openapi-core-nodejs-sdk

OpenAPI POP core SDK for Node.js
JavaScript
175
star
39

aliyun-log-android-sdk

Java
174
star
40

alibabacloud-jindodata

alibabacloud-jindodata
170
star
41

aliyun-emapreduce-datasources

Extended datasource support for Spark/Hadoop on Aliyun E-MapReduce.
Scala
168
star
42

aliyun-log-python-sdk

Use python to manage, produce and consume data with Aliyun Log Service.
Python
161
star
43

aliyun-oss-react-native

Objective-C
148
star
44

aliyun-apsaradb-hbase-demo

C++
147
star
45

data-mapping-component

A React Component which focus on Data-Mapping & Table-Field-Mapping.(基于React的数据/表字段映射组件)
JavaScript
146
star
46

aliyun-oss-c-sdk

Aliyun OSS SDK for C
C
144
star
47

django-oss-storage

Django storage backends for AliCloud OSS.
Python
142
star
48

aliyun-oss-ruby-sdk

Aliyun OSS SDK for Ruby
Ruby
138
star
49

ram-policy-editor

AliCloud RAM Policy Editor for OSS
JavaScript
135
star
50

serverless-aliyun-function-compute

Serverless Alibaba Cloud Function Compute Plugin – Add Alibaba Cloud Function Compute support to the Serverless Framework
JavaScript
133
star
51

react-visual-modeling

A DAG React Component for visualization modeling, suitable for UML, database modeling, data warehouse construction.(一个基于React的数据可视化建模的DAG图,适用于UML,数据库建模,数据仓库建设等业务)
JavaScript
132
star
52

alibabacloud-console-components

阿里云企业云管理平台 UI 组件库
TypeScript
131
star
53

fc-nodejs-sdk

The Node.js SDK of FunctionCompute.
JavaScript
130
star
54

aliyun-log-java-sdk

Java
130
star
55

aliyun-cms-grafana

JavaScript
127
star
56

aliyun-log-java-producer

Aliyun LOG Java Producer
Java
124
star
57

aliyun-emapreduce-demo

Java
123
star
58

alibabacloud-quantization-networks

alibabacloud-quantization-networks
Python
122
star
59

aliyun-odps-jdbc

JDBC Driver for ODPS
Java
118
star
60

alicloud-ams-demo

C#
117
star
61

aliyun-maxcompute-data-collectors

Java
113
star
62

api-gateway-nodejs-sdk

The API Gateway SDK for Node.js
JavaScript
104
star
63

MaxCompute-Spark

MaxCompute spark demo for building a runnable application.
Scala
104
star
64

gm-jsse

开源国密通信纯 Java JSSE 实现
Java
95
star
65

cloud-design

阿里云前端组件库,由专有云&公有云前端团队共建
CSS
95
star
66

aliyun-openapi-cpp-sdk

Alibaba Cloud SDK for C++
C++
90
star
67

aliyun-odps-console

ODPS Console Source Code.
Java
90
star
68

aliyun-tablestore-nodejs-sdk

Aliyun TableStore(原OTS) SDK for Node.js
JavaScript
88
star
69

aliyun-odps-java-sdk

ODPS SDK for Java Developers
Java
85
star
70

iotx-api-demo

PHP
83
star
71

aliyun-log-ios-sdk

Aliyun LOG iOS SDK
Swift
81
star
72

algorithm-base

让算法工程化更简单
Python
81
star
73

aliyun-openapi-nodejs-sdk

Alibaba Cloud SDK for Node.js
JavaScript
80
star
74

plugsched

Live upgrade Linux kernel scheduler subsystem
Python
77
star
75

DCT-Mask

Python
76
star
76

alibabacloud-redis-training-demo

Java
76
star
77

aliyun-oss-php-sdk-laravel

A Laravel service provider for the AliCloud OSS SDK for PHP
PHP
75
star
78

aliyun-tablestore-go-sdk

TableStore SDK for Golang
Go
75
star
79

fc-docker

Dockerfiles for local building or running function of FC
Dockerfile
74
star
80

aliyun-specs

Aliyun Mobile Service CocoaPods specs.
Ruby
74
star
81

dro-sfm

Python
74
star
82

elasticsearch-repository-oss

Java
73
star
83

packagist-mirror

Alibaba Cloud Packagist Mirror
Go
73
star
84

alibabacloud-console-design

阿里云管平台研发解决方案
TypeScript
73
star
85

alibabacloud-sdk

Tea
72
star
86

react-monitor-dag

A React-based operation/monitoring DAG diagram.(基于React的运维/监控DAG图)
JavaScript
68
star
87

aliyun-log-php-sdk

PHP
66
star
88

aliyun-tsdb-java-sdk

Aliyun TSDB SDK for Java
Java
64
star
89

aliyun-log-log4j-appender

aliyun-log-log4j-appender
Java
63
star
90

aliyun_assist_client

Aliyun Assist Client 阿里云 云助手
Go
62
star
91

fc-java-sdk

The Java SDK of FunctionCompute.
Java
61
star
92

alibabacloud-hologres-connectors

alibabacloud-hologres-connectors
Java
61
star
93

oss-ftp

The ftp proxy for Aliyun OSS.
Python
61
star
94

aliyun-log-cli

Command Line Interface for Aliyun Log Service
Python
59
star
95

csb-sdk

The CSB-SDK is a client-side invocation SDK for HTTP or Web Service API opened by the CSB (Cloud Service Bus) product. It is responsible for invoking the open API and signing the request information.
Java
58
star
96

aliyun-log-flink-connector

flink log connector
Java
58
star
97

ossimport

Data migration tool
57
star
98

oss-emulator

OSS Emulator
Ruby
57
star
99

fc-python-sdk

The python sdk of Aliyun FunctionCompute
Python
55
star
100

aliyun-log-dotnetcore-sdk

C#
54
star