推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
kayseen
V2EX  ›  Python

阿里的官方 Python 文档控制 lot 设备,迷..

  •  
  •   kayseen · Sep 10, 2019 · 7630 views
  •   You need to sign in to view this topic
    This topic created in 2614 days ago, the information mentioned may be changed or developed.

    如下代码是控制物联网设备的一个官方文档,我实在是在各处都找不到from com.aliyun.api.gateway.sdk import这三个导入的包是怎么安装的...已经安装了 aliyun 的 python 的 sdk 也不行,有做过的吗请教下...

    import uuid
    import json
    from com.aliyun.api.gateway.sdk import client
    from com.aliyun.api.gateway.sdk.http import request
    from com.aliyun.api.gateway.sdk.common import constant
    
    host = "https://api.link.aliyun.com"
    url = "/thing/properties/set"
    
    cli = client.DefaultClient(app_key="你的<AppKey>", app_secret="你的<AppSecret>")
    
    #post form
    
    req_post = request.Request(host=host, protocol=constant.HTTP, url=url, method="POST", time_out=30000)
    bodyMap = {
      'id': str(uuid.uuid4()),
      'version': "1.0",
      'request': {
          'iotToken': "xxxx",
          'apiVer': "1.0.5"
      },
      'params': {
          #接口参数
          'iotId':"value1",
          'items':"value2",
          'userId':"value3",
          'userType':"value4",
          'origin':"value5",
          'productKey':"value6",
          'deviceName':"value7"
      }
    }
    
    headers = {
      'accept': 'application/json'
    }
    
    req_post.set_body(bodyMap)
    req_post.set_headers(headers)
    req_post.set_content_type(constant.CONTENT_TYPE_JSON)
    print cli.execute(req_post)
    
    24 replies  •  2019-09-11 13:55:08 +08:00
    guiqiqi
    guiqiqi
    Sep 10, 2019 via iPhone
    1
    我怎么觉得是从 java 粘贴过来的,python 少见有用 com 做的包名呐……
    kayseen
    kayseen
    OP
    Sep 10, 2019
    2
    @guiqiqi 额 搞不懂,但是看他这个 Python 代码好像还是 python2 的,但是我现在连他的包都装不起来...
    watsy0007
    watsy0007
    Sep 10, 2019
    3
    文档地址发出来看下. 或者 github 地址发出来.
    Kilerd
    Kilerd
    Sep 10, 2019❤️2
    4
    这段代码怎么有股咖喱味。。。啊。不,是 java 味。
    lolizeppelin
    lolizeppelin
    Sep 10, 2019 via Android
    6
    哈哈哈 咖喱味
    janxin
    janxin
    Sep 10, 2019 via iPad
    7
    @Kilerd 咖灰味
    Hopetree
    Hopetree
    Sep 11, 2019
    8
    既然能引用肯定有包吧,看看是不是环境变量 path 里面需要添加包路径
    Trim21
    Trim21
    Sep 11, 2019 via iPhone
    9
    这包名起的也是很可以了…
    flgn88
    flgn88
    Sep 11, 2019 via iPhone
    10
    说实话,这文档写的真不咋滴
    default7
    default7
    Sep 11, 2019
    11
    这个是放到哪里去运行呢?
    kayseen
    kayseen
    OP
    Sep 11, 2019 via Android
    12
    @default7 这就已经可以直接运行的,就是发送请求,但是阿里云的包装不上。。所以就运行不起来
    kayseen
    kayseen
    OP
    Sep 11, 2019 via Android
    13
    @nieyujiang
    你好,请问那几个从 com 导包的路径找不到,是需要先安装什么吗?
    caqiko
    caqiko
    Sep 11, 2019 via Android
    14
    @kayseen #13 com 文件夹复制到你的.py 同级目录
    ZeoKarl
    ZeoKarl
    Sep 11, 2019 via iPhone
    15
    @kayseen #13 仔细看他的 demo
    kayseen
    kayseen
    OP
    Sep 11, 2019
    16
    @nieyujiang
    @caqiko
    了解了,感谢~
    jy02201949
    jy02201949
    Sep 11, 2019
    17
    阿里的文档有时候是看着挺迷的
    kayseen
    kayseen
    OP
    Sep 11, 2019
    18
    @nieyujiang 我现在看阿里他们的文档,好多入参什么的都没有解释..
    然后就是,比如说我要控制一个阿里的板子的开关,是不是可以使用 https://dev.iot.aliyun.com/iotstudio/api_center?spm=a2c56.pc_iot_community_api_center.0.0.667a520652w076&serviceId=716 这个页面上的触发物的模型属性或者是使用其他的什么服务?而且入参的话,我控制开关应该入什么参数啊...麻烦了
    ZeoKarl
    ZeoKarl
    Sep 11, 2019 via iPhone
    19
    @kayseen #18 不知道,我只是睡不着随手搜索就找到了
    kayseen
    kayseen
    OP
    Sep 11, 2019
    20
    @nieyujiang 好的,谢谢哈
    todd7zhang
    todd7zhang
    Sep 11, 2019
    21
    ```python
    com/aliyun/api/gateway/sdk/http/request.py

    def get_protocol(self):
    return self.__protocol

    def set_protocol(self, protocol):
    self.__protocol = protocol

    def get_method(self):
    return self.__method

    def set_method(self, method):
    self.__method = method

    def get_host(self):
    return self.__host

    def set_host(self, host):
    self.__host = host
    ```

    真一股 java 味...
    hurrytospring
    hurrytospring
    Sep 11, 2019
    22
    @todd7zhang 说不定就是 java 转译的
    Phariel
    Phariel
    Sep 11, 2019
    23
    Ali 多是 Java 栈的 开发风格从 Java 沿袭过来也并不奇怪
    skinny
    skinny
    Sep 11, 2019
    24
    用代码生成器从 Java 代码转的?或者人工转写的?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 08:33 · PVG 16:33 · LAX 00:33 · JFK 03:33
    ♥ Do have faith in what you're doing.