关于代码通过API操作阿里云RDS的巨坑

由于项目原因,要通过API操作阿里云的数据库,于是简单研究了一下阿里云提供的相关文档,发现官方提供了.NET的SDK,而且还提供了github开源代码,这个要为阿里点赞!

于是到github上弄了一份源码,发现源码文件相当多,尝试了一下只提取几个需要用到的类文件放到项目中,经过测试好像不行,也可能本人水平未达到,反正就是不行,最终放弃。

然后测试了一下引用项目和引用dll都没有问题,基本顺利。

在测试创建用户的时候遇到了一个坑,也可以说是巨坑!在创建账号的API文档中关于AccountType的说明中只写了:

// 取值为:Normal(普通账号),Super(超级账号),默认为Normal。该参数仅对 MySQL5.5/5.6、SQL Server 2008R2 有效,MySQL5.7/SQL Server 2012/PostgreSQL/PPAS 有且仅有一个初始账号,其他账号由初始账号连接数据库后创建。

并没有任何警告信息!而实际上,你只要创建了“Super(超级账号)”就麻烦了!创建之后,这个实例立即切换到AccountMode(账号模式?),而且不可恢复,这个帐号还不可删除!

我是操作了之后才发现的问题,看到了这篇“创建高权限账号”的文章,也怪我没有仔细、完整地阅读文档吧,但我认为这么严重后果的操作,在API文档中应该最起码得有加粗黑体字警告,甚至红字警告信息!

唉,一不小心入此坑,而且还爬不上来!希望看到此文的朋友能避免入坑。

 

posted @ 2017-07-18 15:57  润之  阅读(663)  评论(0编辑  收藏  举报