Giter Club home page Giter Club logo

aliyun-openapi-python-sdk's Introduction

Alibaba Cloud Python Software Development Kit

PyPI version Build Status Build status codecov

中文文档

The Alibaba Cloud Python Software Development Kit (SDK) allows you to access Alibaba Cloud services such as Elastic Compute Service (ECS), Object Storage Service (OSS), and Resource Access Management (RAM). You can access Alibaba Cloud services without the need to handle API related tasks, such as signing and constructing your requests.

This document introduces how to obtain and call Alibaba Cloud Python SDK.

Troubleshoot

Troubleshoot Provide OpenAPI diagnosis service to help developers locate quickly and provide solutions for developers through RequestID or error message.

Online Demo

API Workbench provides the ability to call the cloud product OpenAPI online, and dynamically generate SDK Example code and quick retrieval interface, which can significantly reduce the difficulty of using the cloud API. It is highly recommended.

Documentation

Prerequisites

  • To use Alibaba Cloud Python SDK, you must have an Alibaba Cloud account as well as an AccessKey.

    The AccessKey is required when initializing AcsClient. You can create an AccessKey in the Alibaba Cloud console. For more information, see Create an AccessKey.

    Note: To increase the security of your account, we recommend that you use the AccessKey of the RAM user to access Alibaba Cloud services.

  • To use Alibaba Cloud Python SDK to access the APIs of a product, you must first activate the product on the Alibaba Cloud console if required.

  • Alibaba Cloud Python SDK requires 2.7.x, and Python 3.x.

Install Python SDK

Alibaba Cloud Python SDK supports Python 2.7.x, and Python 3.x. Run python --version to check your version of Python.

You can install the Alibaba Cloud Python SDK using the following two methods. Regardless of which method and cloud service are used, the core library aliyun-python-sdk-core must be installed.

  • Install with pip

    Python SDK uses a common package management tool named pip. If pip is not installed, see the pip user guide to install pip.

    Run the following command to install the individual libraries of Alibaba Cloud services:

     # Install the core library
     pip install aliyun-python-sdk-core
     # Install the ECS management library
     pip install aliyun-python-sdk-ecs
     # Install the RDS management library
     pip install aliyun-python-sdk-rds

Use Python SDK

  1. Import the required modules as follows:

    from aliyunsdkcore.client import AcsClient
    from aliyunsdkcore.acs_exception.exceptions import ClientException
    from aliyunsdkcore.acs_exception.exceptions import ServerException
    from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest
    from aliyunsdkecs.request.v20140526 import StopInstanceRequest
  2. Initialize the AcsClient instance:

    client = AcsClient(
        "<access-key-id>",
        "<access-key-secret>",
        "<region-id>"
    )

    where:

    • access-key-id is the Accesskey ID for your account.
    • access-key-secret is the AccessKey secret for your account.
    • region-id is the ID of the region where the service is called. For a list of region IDs, see Regions and zones.

    Note: The sequence of these parameters cannot be changed.

  3. Initialize a request and print response.

    # Initialize a request and set parameters
    request = DescribeInstancesRequest.DescribeInstancesRequest()
    request.set_PageSize(10)
    # Print response
    response = client.do_action_with_exception(request)
    print response

Code example

The following example shows how to query a list of ECS instances in a specific region using DescribeInstances. Substitute the values for your-access-key-id, your-access-key-secret, and your-region-id.

# -*- coding: utf8 -*-

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest
from aliyunsdkecs.request.v20140526 import StopInstanceRequest

# Initialize AcsClient instance
client = AcsClient(
  "<your-access-key-id>",
  "<your-access-key-secret>",
  "<your-region-id>"
)

# Initialize a request and set parameters
request = DescribeInstancesRequest.DescribeInstancesRequest()
request.set_PageSize(10)

# Print response
response = client.do_action_with_exception(request)
print response

HTTP DEBUG

To use the function HTTP DEBUG, you must set DEBUG in your environment variable, the corresponding value may be sdk or SDK.

The following example shows what the HTTP DEBUG do, which will help you debug your codes.

> GET /databases?RegionId=cn-hangzhou HTTP/1.1
> Host : ads.cn-hangzhou.aliyuncs.com
> User-Agent : AlibabaCloud (Windows 10;AMD64) Python/3.7.1 Core/2.13.1 python-requests/2.18.1
> accept-encoding : *
> Accept : application/json
> Connection : keep-alive
> x-sdk-invoke-type : normal
> x-acs-version : 2019-01-22
> x-acs-region-id : cn-hangzhou
> Date : Thu, 21 Feb 2019 08:00:50 GMT
> x-acs-signature-method : HMAC-SHA1
> x-acs-signature-version : 1.0
> Authorization : acs ...
> x-sdk-client : python/2.0.0

< HTTP/1.1 503 SERVICE_UNAVAILABLE
< Date : Thu, 21 Feb 2019 08:00:50 GMT
< Content-Type : application/json; charset=UTF-8
< Content-Length : 297
< Connection : keep-alive
< Access-Control-Allow-Origin : *
< Access-Control-Allow-Methods : POST, GET, OPTIONS
< Access-Control-Allow-Headers : X-Requested-With, X-Sequence, _aop_secret, _aop_signature
< Access-Control-Max-Age : 172800
< x-acs-request-id : 670F3D09-F8E7-4144-83C3-B56C35DA35ED
< Server : Jetty(7.2.2.v20101205)

aliyun-openapi-python-sdk's People

Contributors

aliguyong avatar atptro avatar axiosleo avatar bdperkin avatar codacy-badger avatar danceiny avatar feiyang0210 avatar h-hg avatar humanhuang avatar jacksontian avatar jxyowen avatar liumihust avatar liuzheng avatar liyan2011 avatar malijiefoxmail avatar messense avatar orisdaddy avatar peze avatar qingtang-sdk avatar samuelchen avatar sdk-team avatar silent-beaters avatar suvieyan avatar suzaku avatar tranch avatar tsinghuadream avatar tynany avatar wuling0412 avatar yndu13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aliyun-openapi-python-sdk's Issues

ROS中DescribeResourcesRequest类返回类型错误及请求参数问题.

运行环境:

  • python 3.6
  • windows10 & ubuntu 16

错误重现:

from aliyunsdkros.request.v20150901 import DescribeResourcesRequest

    def get_resources(self,stackId=None,stackName=None)->dict:
        '''
        查询某个资源栈的资源列表
        :param stackId:  栈ID
        :param stackName: 栈名
        :return:
        '''
        req = DescribeResourcesRequest.DescribeResourcesRequest()
        if stackId:
            req.set_StackId(StackId=stackId)
        if stackName:
            req.set_StackName(StackName=stackName)
        resp = json.loads(self.client.do_action_with_exception(req).decode())
        return resp

错误 1

根据 官方API文档说明,这里的StackIDStackName为非必要参数,可不填.但是在我留空提交后,报了如下错误:

File "C:\Program Files\Python36\lib\site-packages\aliyunsdkcore\client.py", line 279, in do_action_with_exception
request_id=request_id)
aliyunsdkcore.acs_exception.exceptions.ServerException: HTTP Status: 400 Error:InvalidUrl Request url is invalid, Illegal character in path at index 38: http://ros.aliyun-inc.com:8080/stacks/[StackName]/[StackId]/resources RequestID: D917A6C0-8EA6-424F-BC90-32C84E9E0020

这里为什么又要StackId和StackName参数?

错误 2

给了StackId和StackName参数,但有如下错误:

File "C:\Program Files\Python36\lib\site-packages\aliyunsdkcore\client.py", line 266, in do_action_with_exception
request_id = body_obj.get('RequestId')
AttributeError: 'list' object has no attribute 'get'

该返回的类型为list,并非dict.还请及时修正。

AttributeError: module 'aliyunsdkcore' has no attribute 'client'

import aliyunsdkcore
import aliyunsdkdomain


domainClient = aliyunsdkcore.client.domainClient("xxx", "xxx")
request = aliyunsdkdomain.request.v20160511.QueryDomainListRequest()

response = domainClient.do_action_with_exception(request)
print(response)

使用的时候报错:AttributeError: module 'aliyunsdkcore' has no attribute 'client'

ROS中ValidateTemplate和CreateStack等几个需要Template参数的提交后返回错误.

运行环境:

  • python: 3.6
  • windows: 10 & ubuntu: 16
  • aliyun-python-sdk-core-v3: 2.8.6
  • aliyun-python-sdk-ros: 2.2.7

错误重现:

以ValidateTemplateRequest类举例.

from aliyunsdkros.request.v20150901 import ValidateTemplateRequest

    def validate_template(self,template):
        '''
         验证将要创建资源栈的模板
        :param template:  模板
        :return:  parameters
        '''
        req = ValidateTemplateRequest.ValidateTemplateRequest()
        req.add_body_params(k='Template',v=template)
        resp = json.loads(self.client.do_action_with_exception(req).decode())
        return resp

错误

aliyunsdkcore.acs_exception.exceptions.ServerException: HTTP Status: 400 Error:HTTPBadRequest The server could not comply with the request since it is either malformed or otherwise incorrect. RequestID: None

试了多个资源编排中的模板样例,且template无论是str还是dict都是相同的错误.

[Errno 10060]

经常会出现以下报错,并不是每次都有,但是今天非常频繁

aliyunsdkcore.acs_exception.exceptions.ClientException: SDK.ServerUnreachable Unable to connect server: [Errno 10060]

建议代码可以写得更加面向对象

看了几个资源的操作里面的模块,现在基本上是一个操作一个类?代码重复比较严重,建议可以多实践面向对象,以及类继承。纯粹个人建议,

怎么还没有NAS的相关API啊.

现在集成到我们系统中,但是传统网络下的一个NAS配置规则还得手动处理.
不能挂载NAS盘,业务跑不了啊.
赶紧推出NAS盘的API吧.
赶紧推出NAS盘的API吧.
赶紧推出NAS盘的API吧.

aliyunsdkcdn 的依赖配置有问题

aliyunsdkcdn 依赖 aliyun-python-sdk-core,但兼容py3的包名为aliyun-python-sdk-core-v3。导致其无法通过pip3安装.
setup.py内可以判断下当前python版本动态变更依赖

DescribeNetworkInterfacesRequest.py 无法根据NetworkInterfaceIds查询

例如:
aliyuncli ecs DescribeNetworkInterfaces --NetworkInterfaceIds "['eni-rj97dq2xryqo1xuj1ahe']"
实际传入的参数处理完是这样的:
{'NetworkInterfaceId.18': 'o', 'NetworkInterfaceId.19': '1', 'NetworkInterfaceId.14': 'x', 'NetworkInterfaceId.15': 'r', 'NetworkInterfaceId.16': 'y', 'NetworkInterfaceId.17': 'q', 'NetworkInterfaceId.10': '7', 'NetworkInterfaceId.11': 'd', 'NetworkInterfaceId.12': 'q', 'NetworkInterfaceId.13': '2', 'NetworkInterfaceId.6': '-', 'NetworkInterfaceId.7': 'r', 'NetworkInterfaceId.4': 'n', 'NetworkInterfaceId.5': 'i', 'NetworkInterfaceId.2': "'", 'NetworkInterfaceId.3': 'e', 'NetworkInterfaceId.1': '[', 'NetworkInterfaceId.8': 'j', 'NetworkInterfaceId.9': '9', 'NetworkInterfaceId.25': 'h', 'NetworkInterfaceId.24': 'a', 'NetworkInterfaceId.27': "'", 'NetworkInterfaceId.26': 'e', 'NetworkInterfaceId.21': 'u', 'NetworkInterfaceId.20': 'x', 'NetworkInterfaceId.23': '1', 'NetworkInterfaceId.22': 'j', 'NetworkInterfaceId.28': ']'}
从而导致无法正确查询

acs sdk无法打包

执行sdk打包命令 ./setup.py bdist_egg 输出如下错误:
| => ./setup.py bdist_egg
running bdist_egg
running egg_info
creating aliyun_python_sdk_acs.egg-info
writing requirements to aliyun_python_sdk_acs.egg-info/requires.txt
writing aliyun_python_sdk_acs.egg-info/PKG-INFO
writing top-level names to aliyun_python_sdk_acs.egg-info/top_level.txt
writing dependency_links to aliyun_python_sdk_acs.egg-info/dependency_links.txt
writing manifest file 'aliyun_python_sdk_acs.egg-info/SOURCES.txt'
reading manifest file 'aliyun_python_sdk_acs.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'aliyun_python_sdk_acs.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.12-intel/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/aliyunsdkacs
copying aliyunsdkacs/init.py -> build/lib/aliyunsdkacs
creating build/lib/aliyunsdkacs/request
copying aliyunsdkacs/request/init.py -> build/lib/aliyunsdkacs/request
creating build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/init.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteApiRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteControlPolicyRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteFlowControlRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeletePolicyRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteProductRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteTairCacheRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/DeleteVersionRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetApiBackupListRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetApiBackupRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetApiNewRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetApiRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetControlPolicyRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetGlobalRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetProductRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetTairCacheRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/GetVersionRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiErrorMappingRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiNewRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiParametersRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiReleaseRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiResultMappingRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiRollbackRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiStatusRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutApiVisibilityRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutControlPolicyRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutFlowControlRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutGlobalErrorMappingRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutPolicyRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutProductRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutVersionErrorMappingRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutVersionParametersRequest.py -> build/lib/aliyunsdkacs/request/v20150101
copying aliyunsdkacs/request/v20150101/PutVersionRequest.py -> build/lib/aliyunsdkacs/request/v20150101
creating build/lib/aliyunsdkacs/request/v20150201
copying aliyunsdkacs/request/v20150201/init.py -> build/lib/aliyunsdkacs/request/v20150201
copying aliyunsdkacs/request/v20150201/ApiFlowControlRequest.py -> build/lib/aliyunsdkacs/request/v20150201
creating build/bdist.macosx-10.12-intel
creating build/bdist.macosx-10.12-intel/egg
creating build/bdist.macosx-10.12-intel/egg/aliyunsdkacs
copying build/lib/aliyunsdkacs/init.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs
creating build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request
copying build/lib/aliyunsdkacs/request/init.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request
creating build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/init.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteApiRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteControlPolicyRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteFlowControlRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeletePolicyRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteProductRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteTairCacheRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/DeleteVersionRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetApiBackupListRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetApiBackupRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetApiNewRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetApiRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetControlPolicyRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetGlobalRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetProductRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetTairCacheRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/GetVersionRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiErrorMappingRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiNewRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiParametersRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiReleaseRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiResultMappingRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiRollbackRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiStatusRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutApiVisibilityRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutControlPolicyRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutFlowControlRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutGlobalErrorMappingRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutPolicyRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutProductRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutVersionErrorMappingRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutVersionParametersRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
copying build/lib/aliyunsdkacs/request/v20150101/PutVersionRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101
creating build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150201
copying build/lib/aliyunsdkacs/request/v20150201/init.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150201
copying build/lib/aliyunsdkacs/request/v20150201/ApiFlowControlRequest.py -> build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150201
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/init.py to init.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/init.py to init.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/init.py to init.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteApiRequest.py to DeleteApiRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteControlPolicyRequest.py to DeleteControlPolicyRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteFlowControlRequest.py to DeleteFlowControlRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeletePolicyRequest.py to DeletePolicyRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteProductRequest.py to DeleteProductRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteTairCacheRequest.py to DeleteTairCacheRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteTairCacheRequest.py", line 34
def get_x-acs-cache-key(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/DeleteVersionRequest.py to DeleteVersionRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetApiBackupListRequest.py to GetApiBackupListRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetApiBackupRequest.py to GetApiBackupRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetApiNewRequest.py to GetApiNewRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetApiRequest.py to GetApiRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetControlPolicyRequest.py to GetControlPolicyRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetGlobalRequest.py to GetGlobalRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetProductRequest.py to GetProductRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetTairCacheRequest.py to GetTairCacheRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetTairCacheRequest.py", line 34
def get_x-acs-cache-key(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/GetVersionRequest.py to GetVersionRequest.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiErrorMappingRequest.py to PutApiErrorMappingRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiErrorMappingRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiNewRequest.py to PutApiNewRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiNewRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiParametersRequest.py to PutApiParametersRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiParametersRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiReleaseRequest.py to PutApiReleaseRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiReleaseRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiRequest.py to PutApiRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiResultMappingRequest.py to PutApiResultMappingRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiResultMappingRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiRollbackRequest.py to PutApiRollbackRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiRollbackRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiStatusRequest.py to PutApiStatusRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiStatusRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutApiVisibilityRequest.py to PutApiVisibilityRequest.pyc
Sorry: IndentationError: expected an indented block (PutApiVisibilityRequest.py, line 55)
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutControlPolicyRequest.py to PutControlPolicyRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutControlPolicyRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutFlowControlRequest.py to PutFlowControlRequest.pyc
Sorry: IndentationError: expected an indented block (PutFlowControlRequest.py, line 55)
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutGlobalErrorMappingRequest.py to PutGlobalErrorMappingRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutGlobalErrorMappingRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutPolicyRequest.py to PutPolicyRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutPolicyRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutProductRequest.py to PutProductRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutProductRequest.py", line 40
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionErrorMappingRequest.py to PutVersionErrorMappingRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionErrorMappingRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionParametersRequest.py to PutVersionParametersRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionParametersRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionRequest.py to PutVersionRequest.pyc
File "build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150101/PutVersionRequest.py", line 34
def get_Content-Type(self):
^
SyntaxError: invalid syntax

byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150201/init.py to init.pyc
byte-compiling build/bdist.macosx-10.12-intel/egg/aliyunsdkacs/request/v20150201/ApiFlowControlRequest.py to ApiFlowControlRequest.pyc
creating build/bdist.macosx-10.12-intel/egg/EGG-INFO
copying aliyun_python_sdk_acs.egg-info/PKG-INFO -> build/bdist.macosx-10.12-intel/egg/EGG-INFO
copying aliyun_python_sdk_acs.egg-info/SOURCES.txt -> build/bdist.macosx-10.12-intel/egg/EGG-INFO
copying aliyun_python_sdk_acs.egg-info/dependency_links.txt -> build/bdist.macosx-10.12-intel/egg/EGG-INFO
copying aliyun_python_sdk_acs.egg-info/requires.txt -> build/bdist.macosx-10.12-intel/egg/EGG-INFO
copying aliyun_python_sdk_acs.egg-info/top_level.txt -> build/bdist.macosx-10.12-intel/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/aliyun_python_sdk_acs-0.0.2-py2.7.egg' and adding 'build/bdist.macosx-10.12-intel/egg' to it
removing 'build/bdist.macosx-10.12-intel/egg' (and everything under it)

cannot delete KeyPairs.

问题已经在此处报告:
aliyun/aliyun-cli#31
钥匙用CreateKeyPair命令创建以后无法用DeleteKeyPairs命令删除,目前只能到网页控制台中删除。这是新加的功能吗?

$ aliyuncli ecs DeleteKeyPairs --KeyPairNames key1
{
    "Message": "The specified parameter \"KeyPairNames\" is not valid.", 
    "Code": "InvalidKeyPairNames.ValueNotSupported"
}
Detail of Server Exception:

HTTP Status: 400 Error

尝试了 'key1' 、"key1" 、{"key1"} 、["key1"],统统不行。:-(

About MessageService Module

Hi!
I want to use MessageSerevice by python sdk.
but I didn't find MessageService module.
Do you have official MessageService sdk?

提供一个demo吧

集成的成本太高了,建议提供一个demo,可以节省许多的时间,让这个库变得更有价值。

Python3.6.2安装core-v3报错,怎么回事啊

C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(26): error C2061: syntax error: identifier 'intmax_t'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(27): error C2061: syntax error: identifier 'rem'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(27): error C2059: syntax error: ';'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(28): error C2059: syntax error: '}'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(30): error C2061: syntax error: identifier 'imaxdiv_t'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(30): error C2059: syntax error: ';'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(40): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2146: syntax error: missing ')' before identifier '_Number'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2061: syntax error: identifier '_Number'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(41): error C2059: syntax error: ';'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(42): error C2059: syntax error: ')'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(45): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2146: syntax error: missing ')' before identifier '_Numerator'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2061: syntax error: identifier '_Numerator'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2059: syntax error: ';'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(46): error C2059: syntax error: ','
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(48): error C2059: syntax error: ')'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(50): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(56): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(63): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(69): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(76): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(82): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(89): error C2143: syntax error: missing '{' before '__cdecl'
C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt\inttypes.h(95): error C2143: syntax error: missing '{' before '__cdecl'
error: Setup script exited with error: command 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe' failed with exit status 2

获取不到帐号下域名列表

这是我的部分代码:

from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkdomain.request.v20160511 import QueryDomainListRequest

client = AcsClient( 'AccessKeyID','AccessKeySecret‘);
request = QueryDomainListRequest.QueryDomainListRequest()
request.set_PageSize(10)
request.set_PageNum(1)
response = client.do_action_with_exception(request)
print(response)

最后response返回空:
(u'TotalPageNum', 1) (u'PageSize', 10) (u'PrePage', False) (u'CurrentPageNum', 1) (u'RequestId', u'F95EE320-2694-48EE-8B6A-421FC8CDFAAE') (u'TotalItemNum', 0) (u'Data', {u'Domain': []}) (u'NextPage', False)
帐号权限已经给到最大了,应该不是权限的问题。也没有爆任何异常,请问是什么问题?

InstanceNetworkType should be DBInstanceNetType

aliyunsdkcore.acs_exception.exceptions.ServerException: HTTP Status: 400 Error:MissingParameter The input parameter "DBInstanceNetType" that is mandatory for processing this request is not supplied. RequestID: 40011836-7B43-4846-9B65-BF50BCA9FE64

failed to access cn-zhangjiakou with AcsClient using

cn-zhangjiakou
list stacks...
/Library/Python/2.7/site-packages/aliyunsdkcore/client.py:309: DeprecationWarning: get_response() method is deprecated, please use do_action_with_exception() instead.
DeprecationWarning)
Can not find endpoint to access.

aliyun-python-sdk-core (2.6.2)
aliyun-python-sdk-ros (2.2.7)
aliyunsdkcore (1.0.1)

aliyun_python_sdk_core_v3 requests get exception of "TypeError: the JSON object must be str, not 'bytes'"

File "/xxxxx/py/lib/python3.5/site-packages/aliyunsdkcore/client.py", line 253, in do_action_with_exception
body_obj = json.loads(body)
File "/usr/lib/python3.5/json/init.py", line 312, in loads
s.class.name))
TypeError: the JSON object must be str, not 'bytes'

the json.loads expect a string type, but in the sdk the body was a bytes from http_response.read()

if change to
body_obj = json.loads(body.decode("utf-8")) will works fine

How to create ECS with public IP address using python SDK ?

In aliyun-python-sdk-ecs, I found CreateInstanceRequest class and try to create ECS.

    request = CreateInstanceRequest();
    request.set_ImageId(imageID)
    request.set_InstanceType(instanceType)
    request.set_SecurityGroupId(groupID)
    request.set_SpotPriceLimit(float(price))
    request.set_KeyPairName(keyName)
    request.set_IoOptimized('optimized')
    request.set_SystemDiskCategory('cloud_ssd')
    request.set_InstanceChargeType('PostPaid')
    request.set_SpotStrategy('SpotWithPriceLimit')
    request.set_InternetChargeType('PayByBandwidth')
    request.set_InternetMaxBandwidthOut(100)
    request.set_InternetMaxBandwidthIn(100)

But after the creation, there is no public net IP for this ECS.

{'msg': {u'TotalCount': 1, u'PageNumber': 1, u'RequestId': u'C96BD978-46DA-4E7A-8295-6918BDD56FFC', u'PageSize': 10, u'Instances': {u'Instance': [{u'AutoReleaseTime': u'', u'RegionId': u'cn-beijing', u'InstanceTypeFamily': u'ecs.n1', u'InternetChargeType': u'PayByBandwidth', u'SerialNumber': u'046fbcf7-831e-459c-b8f1-4ebfa4171130', u'CreationTime': u'2018-03-31T04:56Z', u'SpotPriceLimit': 0.08, u'ExpiredTime': u'2999-09-08T16:00Z', u'IoOptimized': True, u'Memory': 1024, u'OSType': u'linux', u'StoppedMode': u'Not-applicable', u'VpcAttributes': {u'VpcId': u'', u'VSwitchId': u'', u'PrivateIpAddress': {u'IpAddress': []}, u'NatIpAddress': u''}, u'KeyPairName': u'k8s', u'Status': u'Starting', u'Description': u'', u'InstanceId': u'i-2ze40kbw3a80oe9605g4', u'HostName': u'iZ2ze40kbw3a80oe9605g4Z', u'ClusterId': u'', u'ImageId': u'centos_7_04_64_20G_alibase_201701015.vhd', u'ResourceGroupId': u'', u'SpotStrategy': u'SpotWithPriceLimit', u'InstanceNetworkType': u'classic', u'InstanceType': u'ecs.n1.tiny', u'EipAddress': {u'InternetChargeType': u'', u'IpAddress': u'', u'AllocationId': u''}, u'InnerIpAddress': {u'IpAddress': [u'10.24.189.155']}, u'GPUAmount': 0, u'OperationLocks': {u'LockReason': []}, u'InstanceChargeType': u'PostPaid', u'SecurityGroupIds': {u'SecurityGroupId': [u'sg-2zeelwh9e3855pch6isp']}, u'InternetMaxBandwidthOut': 100, u'SaleCycle': u'', u'ZoneId': u'cn-beijing-c', u'InstanceName': u'iZ2ze40kbw3a80oe9605g4Z', u'Cpu': 1, u'PublicIpAddress': {u'IpAddress': []}, u'InternetMaxBandwidthIn': 100, u'OSName': u'CentOS  7.4 64\u4f4d', u'VlanId': u'', u'Recyclable': False, u'StartTime': u'2018-03-31T04:56Z', u'GPUSpec': u'', u'DeviceAvailable': True}]}}, 'code': 0}

I not find any methods about allocation public network IP? Could you tell me how to create ECS with public IP address using python SDK ?

aliyun-python-sdk-core-v3 的 json 解析问题

File "***/aliyunsdkcore/profile/location_service.py", line 143, in find_product_domain_from_location_service result = json.loads(body)

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/json/__init__.py", line 312, in loads s.__class__.__name__))

TypeError: the JSON object must be str, not 'bytes'

当然我直接改 aliyunsdkcore/profile/location_service.py 这个文件加上 .decode() 也可以,但还是希望你们解决下

python 3.4和3.5下非200返回值调用 _parse_error_info_from_response_body时报错

body = clt.do_action_with_exception(req)

File "/Users/yang/venv/34/lib/python3.4/site-packages/aliyunsdkcore/client.py", line 291, in do_action_with_exception
body)
File "/Users/yang/venv/34/lib/python3.4/site-packages/aliyunsdkcore/client.py", line 259, in _parse_error_info_from_response_body
body_obj = json.loads(response_body)
File "/Users/yang/.pyenv/versions/3.4.6/lib/python3.4/json/init.py", line 312, in loads
s.class.name))
TypeError: the JSON object must be str, not 'bytes'

Cannot use AcsClient in "with .. as" construction

AcsClient does not have __exit__ attribute and hence cannot be used in "with .. as" block. This example code

from aliyunsdkcore.client import AcsClient
with AcsClient('key', 'secret', 'region') as client:
  print client

will produce error AttributeError: AcsClient instance has no attribute '__exit__'.

Solution would be to implement support for "with" in accordance with PEP343.

aliyun-python-sdk-core 里存在大量胡乱修改 sys.path 的行为

对应的代码片段为:

parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parentdir)

以 aliyunsdkcore/http/http_request.py 为例:

parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, parentdir)
import format_type

作者的目的是 import format_type module, 那么通过 from aliyunsdkcore.http import format_type 这种绝对引用方式, 或者 from . import format_type 都能办到。 作者却选择了将 这个目录添加到了 sys.path 的最前面这种不正确的方式。

如果使用者自己代码里含有和 aliyunsdkcore.http 同名的文件, 将导致无法正确 import. 而
·aliyunsdkcore/` module 下就有utils 这种非常常见的 module 名

python3.3.6 下 AcsClient do_action_with_exception接口无法使用

File "*venv/33/lib/python3.3/site-packages/aliyunsdkcore/auth/algorithm/sha_hmac1.py", line 30, in get_sign_string
h = hmac.new(secret, source, hashlib.sha1)
File "*venv/33/lib/python3.3/hmac.py", line 131, in new
return HMAC(key, msg, digestmod)
File "*venv/33/lib/python3.3/hmac.py", line 38, in init
raise TypeError("key: expected bytes, but got %r" % type(key).name)
TypeError: key: expected bytes, but got 'bytearray'

python 3.3.6版本下,hmac要求输入参数必须为bytes

demo please

用sdk还一直 SignatureDoesNotMatch - -,给几个demo供参考一下吧

aliyun-python-sdk-ros 存在bug

使用 aliyuncli ros DescribeStacks --RegionId cn-hangzhou 命令提示如下内容

{
    "Message": "x-acs-region-id is required.",
    "Code": "RegionIdRequired"
}
Detail of Server Exception:

HTTP Status: 400 Error:RegionIdRequired x-acs-region-id is required. RequestID: None

使用 aliyuncli ros DescribeStacks --RegionId cn-hangzhou-b 命令提示如下

{
    "Message": "Can not find endpoint to access.",
    "Code": "SDK.InvalidRegionId"
}
Detail of Client Exception:

SDK.InvalidRegionId Can not find endpoint to access.

如果不指定 --RegionId 参数还是会返回第一个错误

Support Python 3

As title in late 2015, would be good to support Python 3.3 and above.

aliyun-python-sdk-emr 在 python3 中的兼容性问题

File "***/aliyunsdkemr/request/v20160408/CreateExecutionPlanRequest.py", line 79, in set_JobIdLists self.add_query_param('JobIdList.' + bytes(i + 1) , JobIdLists[i]);

TypeError: Can't convert 'bytes' object to str implicitly

当然我直接改 CreateExecutionPlanRequest.py 这个文件的 bytes() --> str() 也可以,但还是希望你们解决下

ROS中DescribeStacksRequest与DeleteStackRequest类请求RegionId参数问题.

运行环境:

  • python: 3.6
  • windows: 10 & ubuntu: 16
  • aliyun-python-sdk-core-v3: 2.8.6
  • aliyun-python-sdk-ros: 2.2.7

错误重现:

以DescribeStacksRequest类举例,DeleteStackRequest也是相同问题.

from aliyunsdkros.request.v20150901 import DescribeStacksRequest
    def get_stacks(self,regionId='cn-shenzhen',stackId=None,status=None,name=None):
        '''
        查询资源栈列表
        :param stackId: 资源栈 ID
        :param status: 用于过滤的资源栈状态。
        :param name: 资源栈名称
        :return:
        '''
        client = aliyunsdkcore.client.AcsClient(ak=self.ak,secret=self.secret,region_id=regionId)
        req = DescribeStacksRequest.DescribeStacksRequest()
        if stackId:
            req.set_StackId(StackId=stackId)
        if status:
            req.set_Status(Status=status)
        if name:
            req.set_Name(Name=name)
        req.set_PageSize(self.pagesize)
        resp = json.loads(client.do_action_with_exception(req).decode())
        return resp

错误

File "C:\Program Files\Python36\lib\site-packages\aliyunsdkcore\client.py", line 279, in do_action_with_exception
request_id=request_id)
aliyunsdkcore.acs_exception.exceptions.ServerException: HTTP Status: 400 Error:RegionIdRequired x-acs-region-id is required. RequestID: None

其实已给出RegionId,但即使在add_query_params方法中单独指定,也是相同错误,提示无regionId,可若使用add_header(k='x-acs-region-id',v='cn-shenzhen')方法则通过.

使用ros sdk报错

from aliyunsdkcore import client
from aliyunsdkros.request.v20150901 import CreateStacksRequest
.....

	def createStacksRequest(self,name,templateName,parameters):
		request = CreateStacksRequest.CreateStacksRequest()
		request.set_headers({'x-acs-region-id':self.regionId})
		create_stack_body = {
			"Name" : name,
			"Template" : open('./ros/templates/' + templateName + '.json').read(),
			"Parameters" : parameters,
			"TimeoutMins" : 60
		}
		request.set_content(create_stack_body);
		request.set_accept_format('json')

		response = self.clt.do_action_with_exception(request)

		print response

报错内容如下:

  File "/Users//aliyunpy/t.py", line 48, in main
    api.createStacksRequest('test', 'blueteam_vpc_ecs', parameters)
  File "/Users//aliyunpy/t.py", line 32, in createStacksRequest
    response = self.clt.do_action_with_exception(request)
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/client.py", line 208, in do_action_with_exception
    status, headers, body = self._implementation_of_do_action(acs_request)
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/client.py", line 178, in _implementation_of_do_action
    http_response = self._make_http_response(endpoint, request)
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/client.py", line 163, in _make_http_response
    self.get_access_secret())
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/request.py", line 299, in get_signed_header
    md5_str = md5_tool.get_md5_base64_str(self.get_content())
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/auth/md5_tool.py", line 39, in get_md5_base64_str
    return base64.encodestring(_get_md5(content)).strip()
  File "/usr/local/lib/python2.7/site-packages/aliyunsdkcore/auth/md5_tool.py", line 35, in _get_md5
    m.update(buffer(content))

难道是我用法不对?之前用ecs的sdk 也是这么写的啊?

DiskDeviceMappings bug

When I type this in the ali-py cli
aliyuncli ecs ImportImage --ImageName "ubunt" --DiskDeviceMappings '[{"OSSBucket":"hcs4ali","OSSObject":"azure-template_0529.vhd"}]'

I get this error " 'str' object has no attribute 'get'. “
And I found you don't transfer the str 'DiskDeviceMappings' to dict type,which resulting this error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.