npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dealiyun

v1.0.0

Published

ALL Aliyun APIs

Downloads

3

Readme

WAliyun

forked from https://github.com/willin/waliyun

比官方SDK更好用的阿里云SDK。

Minimum, Flexible, Scalable.

支持Lazy Require。

Table of Contents generated with DocToc

安装和使用

国际惯例:

npm install waliyun --save

公共参数:

var options = {
  AccessKeyId: 'xxxx-xxxx-xxxx-xxxx',
  AccessKeySecret: 'xxxx-xxxx-xxxx-xxxx',
  // 选填,不同接口类型注意版本日期,2.0.0之后版本会带上默认版本,但可能会落后于最新,需要注意
  Version: '2014-05-26',
  // 选填
  SignatureMethod: 'HMAC-SHA1',
  Format: 'json',
  SignatureVersion: '1.0',
  // 不填,每次请求都会自动重新生成
  SignatureNonce: Math.random(),
  Timestamp: new Date().toISOString()
};

ES5:

var WALIYUN = require('waliyun');
var ecs = WALIYUN.ECS(options);
ecs.describeInstances({
  RegionId: 'cn-hangzhou'
}).then(function(instances){
  // xxxx
});

ES7:

import {ECS} from 'waliyun';
const ecs = ECS(options);
// Within Async Func
(async() => {
  const instances = await ecs.describeInstances({
    RegionId: 'cn-hangzhou'
  });
  // xxxx
});

查看接口对应版本

ES7:

import {ECS} from 'waliyun';
const ecs = ECS(options);
console.log(ecs.version());

已支持的接口

CDN

API文档参考: https://help.aliyun.com/document_detail/27155.html

移动推送 CLOUDPUSH

API文档参考: https://help.aliyun.com/document_detail/30074.html

邮件推送 DM

API文档参考: https://help.aliyun.com/document_detail/29435.html

发送示例:

const { DM } = require('waliyun');

const dm = DM({
  AccessKeyId: 'xxxx',
  AccessKeySecret: 'xxxxx'
});

dm.singleSendMail({
  AccountName: '[email protected]',
  ReplyToAddress: false,
  AddressType: 1,
  ToAddress: '[email protected]',
  FromAlias: '用户名',
  Subject: '注册邮件',
  HtmlBody: '<p>您的注册验证码为:1234</p>'
}).then(data => {
  console.log(data);
}).catch(err => {
  console.log(err);
});

短信服务 SMS

阿里云已停止开通原短信服务(整合在消息服务内)。新开通阿里云短信服务的用户,请参考下方的新短信服务调用示例

发送示例:

const { SMS } = require('waliyun');

const sms = SMS({
  AccessKeyId: 'xxxx',
  AccessKeySecret: 'xxxx'
});

sms.singleSendSMS({
  ParamString: '{"customer":"1234"}',
  RecNum: '13812341234',
  SignName: '您的签名',
  TemplateCode: 'SMS_77778888'
}).then(data => {
  console.log(data);
});

新短信服务 DYSMS

API文档参考: https://help.aliyun.com/document_detail/56189.html

发送示例:

const { DYSMS } = require('waliyun');

const sms = DYSMS({
  AccessKeyId: 'xxxx',
  AccessKeySecret: 'xxxx'
});

sms.sendSms({
  TemplateParam: JSON.stringify({customer: '1234'}),
  PhoneNumbers: mobileNo,
  SignName: '您的签名',
  TemplateCode: 'SMS_77778888'
})

分布式关系型数据库 DRDS

API文档参考: https://help.aliyun.com/document_detail/35276.html

云服务器 ECS

API文档参考: https://help.aliyun.com/document_detail/25485.html

ES7 示例:

import {ECS} from 'waliyun';

(async() => {
  const ces = ECS({
    AccessKeyId: 'xxxx',
    AccessKeySecret: 'xxxx',
    Version: '2014-05-26'
  });
  const data = await ces.describeInstances({
    RegionId: 'cn-hangzhou'
  });
  console.log(data.Instances.Instance);
})();

语音服务 DYVMS

API文档参考: https://help.aliyun.com/document_detail/56190.html

弹性伸缩 ESS

API文档参考: https://help.aliyun.com/document_detail/25925.html

ALIDNS

API文档参考: https://help.aliyun.com/document_detail/29739.html

HTTPDNS

API文档参考: https://help.aliyun.com/document_detail/30122.html

阿里云物联网套件 IOT

API文档参考: https://help.aliyun.com/document_detail/30557.html

ES7 示例:

import {IOT} from 'waliyun';

(async() => {
  const iot = IOT({
    Api:'https://iot.cn-shanghai.aliyuncs.com/',//可不填,默认为https://iot.aliyuncs.com/
    AccessKeyId: 'xxxx',
    AccessKeySecret: 'xxxxx',
    Version: '2016-05-30'
  });
  const data = await iot.sub({
    ProductKey: 'xxxx',
    SubCallback: 'http://xxxx:xxx/',
    'Topic.1': '/ProductKey/Topic'
  });
  console.log(data);
})();

云监控 METRICS

API文档参考: https://help.aliyun.com/document_detail/28616.html

ES7 示例:

import {METRICS} from 'waliyun';

(async() => {
  const metrics = METRICS({
    AccessKeyId: 'xxxxxx',
    AccessKeySecret: 'xxxxxx',
    Version: '2015-10-20',
    RegionId: 'cn-hangzhou'
  });
  const data = await metrics.queryMetric({
    Project: 'acs_rds',
    Metric: 'CpuUsage',
    Period: '300',
    StartTime: new Date() - 60 * 1000 * 1000,
    Dimensions: '{instanceId:\'xxxxxx\'}'
  });
  console.log(data.Datapoints);
})();

媒体转码 MTS

API文档参考: https://help.aliyun.com/document_detail/29212.html

访问控制 RAM

API文档参考: https://help.aliyun.com/document_detail/28672.html

云数据库 RDS

API文档参考: https://help.aliyun.com/document_detail/26226.html

负载均衡 SLB

API文档参考: https://help.aliyun.com/document_detail/27566.html

访问控制 STS

API文档参考: https://help.aliyun.com/document_detail/28756.html

ES5示例:

var WALIYUN = require('waliyun');
var sts = WALIYUN.STS({
  AccessKeyId: 'xxxx',
  AccessKeySecret: 'xxxx',
  Version: '2015-04-01'
});
sts.AssumeRole({
  RoleArn: 'acs:ram::xxxx:role/xxxx',
  RoleSessionName: 'xxxxx'
},'post').then(function(token){
  // xxxx
});

ES7 示例:

import {STS} from 'waliyun';

const sts = STS({
  AccessKeyId: 'xxxx',
  AccessKeySecret: 'xxxx',
  Version: '2015-04-01'
});

(async() => {
  const token = await sts.AssumeRole({
    RoleArn: 'acs:ram::xxxx:role/xxxx',
    RoleSessionName: 'xxxxx'
  },'post');
  // xxxx
})();

容器服务 CS

API文档参考: https://help.aliyun.com/document_detail/26043.html

注意,容器服务版本号停留在:2015-12-15。新版改动较为奇葩,暂不支持。

旧版本方法列表:

[
  'GetClusterList',
  'CreateCluster',
  'DeleteCluster',
  'GetClusterById',
  'GetClusterCerts',
  'UpdateClusterSizeById',
  'ListProjects',
  'CreateProject',
  'RetrieveProject',
  'StartProject',
  'StopProject',
  'UpdateProject',
  'DeleteProject'
]

CHANGELOG

v2.0.0

2016-09-06

  • 使用元编程方式进行重构,减少重复代码和Action限制;
  • 更新文档链接。

v1.0.0

2016-05-16 解决了签名偶发错误的问题。

License

MIT

通过支付宝捐赠:

qr