巧用 chrome 浏览器的开发者工具解决sdk问题

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 阿里云的API和SDK给用户的自主操作带来了极大的方便. 前两天遇到一个用户,反馈在使用mongodb 的sdk 获取新加坡的集群实例时,总是结果为空. 但请示返回的状态码却是200, 即成功. 但自己确实是有新加坡的集群实例的,并且用的还是购买实例的主账号的 AccessID/Secret.

阿里云的API和SDK给用户的自主操作带来了极大的方便. 前两天遇到一个用户,反馈在使用mongodb 的sdk 获取新加坡的集群实例时,总是结果为空. 但请示返回的状态码却是200, 即成功. 但自己确实是有新加坡的集群实例的,并且用的还是购买实例的主账号的 AccessID/Secret. 我们来看下这个问题.

  1. 客户的代码是来自于 Api.aliyun.com 复制过来,然后修改了签名键值对,代码片段如下:
#!/usr/bin/env python
#coding=utf-8
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.request import CommonRequest
client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-shanghai')
request = CommonRequest()
request.set_accept_format('json')
request.set_domain('mongodb.aliyuncs.com')
request.set_method('POST')
request.set_version('2015-12-01')
request.set_action_name('DescribeDBInstances')
request.add_query_param('RegionId', 'ap-southeast-1')
response = client.do_action(request)
# python2:  print(response) 
print(str(response, encoding = 'utf-8'))

到底是哪里的问题呢?正好我们手头上有一台新加坡的 mongodb 集群实例,我们是否可以从浏览器的返回结果中查看到蛛丝马迹呢?我们尝试一下

  1. 在 chrome 浏览器,先打开新加坡的mongodb 控制台,然后选择开发者工具.如图:
    image

3.选择分片集群实例.
4.这时我们查看开发者工具, 会发现有一个调用 DescribeDBInstances 的页面, 在页面中找到 Query String Parameters 中 action 为 DescribeDBInstances, 找到其 Form data, 这时赫然发现里有一项参数:
DBInstanceType:sharding,如图:
image
看来就是这个参数作的怪, 好了我们修改代码,添加如下行:

request.add_query_param('DBInstanceType','sharding')

果然得到了正确的结果. 可惜文档中没有写明白, 后来又过该方法,发现这个参数的默认值是 replicate, 如果不指定,就只会显示复制集的实例.

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
2月前
|
Web App开发 JavaScript 前端开发
从零开始,轻松打造个人化Chrome浏览器插件
从零开始,轻松打造个人化Chrome浏览器插件
66 0
|
4月前
|
Web App开发 JavaScript
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
Vue 项目中使用 debugger 在 chrome 谷歌浏览器中失效以及 console.log 指向去了 vue.js 代码
290 0
|
3月前
|
Web App开发 前端开发
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
152 0
|
3月前
|
Web App开发 数据采集 JavaScript
Chrome开发者工具探秘:元素面板的神奇魔法与实战解析
Chrome开发者工具探秘:元素面板的神奇魔法与实战解析
24 0
|
3月前
|
Web App开发 前端开发 搜索推荐
Chrome 浏览器中的一个隐藏设置页面
Chrome 浏览器中的一个隐藏设置页面
100 8
|
3月前
|
Web App开发 存储 缓存
Chrome 开发者工具 Network 里 Failed to load response data 提示消息的含义
Chrome 开发者工具 Network 里 Failed to load response data 提示消息的含义
123 0
|
4月前
|
Web App开发
Google Chrome 浏览器 119.0.6045.106 版本提示 STATUS_INVALID_IMAGE_HASH 崩溃
Google Chrome 浏览器 119.0.6045.106 版本提示 STATUS_INVALID_IMAGE_HASH 崩溃
68 0
|
1月前
|
Web App开发 前端开发 JavaScript
防止你的 Web 应用被别人通过 Chrome 开发者工具进行调试的一种简单办法
防止你的 Web 应用被别人通过 Chrome 开发者工具进行调试的一种简单办法
30 0
|
3月前
|
Web App开发 前端开发 JavaScript
如何使用浏览器开发者工具?
如何使用浏览器开发者工具?
如何使用浏览器开发者工具?
|
3月前
|
Web App开发 前端开发 安全
Chrome浏览器进程:了解多进程架构优劣的探索
Chrome浏览器进程:了解多进程架构优劣的探索

热门文章

最新文章