Aliyun FunctionCompute SDK
Project description
Aliyun FunctionCompute Python SDK
=================================
.. image:: https://badge.fury.io/py/aliyun-fc.svg
:target: https://badge.fury.io/py/aliyun-fc
.. image:: https://travis-ci.org/aliyun/fc-python-sdk.svg?branch=master
:target: https://travis-ci.org/aliyun/fc-python-sdk
.. image:: https://coveralls.io/repos/github/aliyun/fc-python-sdk/badge.svg?branch=master
:target: https://coveralls.io/github/aliyun/fc-python-sdk?branch=master
Overview
--------
The SDK of this version is dependent on the third-party HTTP library `requests <https://github.com/kennethreitz/requests>`_.
Running environment
-------------------
Python 2.7, Python 3.6
Installation
----------
Install the official release version through PIP (taking Linux as an example):
.. code-block:: bash
$ pip install aliyun-fc
You can also install the unzipped installer package directly:
.. code-block:: bash
$ sudo python setup.py install
Getting started
---------------
.. code-block:: python
# -*- coding: utf-8 -*-
import fc
# To know the endpoint and access key id/secret info, please refer to:
# https://help.aliyun.com/document_detail/52984.html
client = fc.Client(
endpoint='<Your Endpoint>',
accessKeyID='<Your AccessKeyID>',
accessKeySecret='<Your AccessKeySecret>')
# Create service.
client.create_service('service_name')
# Create function.
# the current directory has a main.zip file (main.py which has a function of myhandler)
client.create_function('service_name', 'function_name', 'main.my_handler', codeZipFile = 'main.zip')
# Invoke function synchronously.
client.invoke_function('service_name', 'function_name')
# Invoke a function with a input parameter.
client.invoke_function('service_name', 'function_name', payload=bytes('hello_world'))
# Read a image and invoke a function with the file data as input parameter.
src = open('src_image_file_path', 'rb') # Note: please open it as binary.
r = client.invoke_function('service_name', 'function_name', payload=src)
# save the result as the output image.
dst = open('dst_image_file_path', 'wb')
dst.write(r)
src.close()
dst.close()
# Invoke function asynchronously.
client.async_invoke_function('service_name', 'function_name')
# List services.
client.list_services()
# List functions with prefix and limit.
client.list_functions('service_name', prefix='the_prefix', limit=10)
# Delete service.
client.delete_service('service_name')
# Delete function.
client.delete_function('service_name', 'function_name')
Testing
-------
To run the tests, please set the access key id/secret, endpoint as environment variables.
Take the Linux system for example:
.. code-block:: bash
$ export ENDPOINT=<endpoint>
$ export ACCESS_KEY_ID=<AccessKeyId>
$ export ACCESS_KEY_SECRET=<AccessKeySecret>
$ export STS_TOKEN=<roleARN>
Run the test in the following method:
.. code-block:: bash
$ nosetests # First install nose
More resources
--------------
- `Aliyun FunctionCompute docs <https://help.aliyun.com/product/50980.html>`_
Contacting us
-------------
- `Links <https://help.aliyun.com/document_detail/53087.html>`_
License
-------
- `MIT <https://github.com/aliyun/fc-python-sdk/blob/master/LICENSE>`_
=================================
.. image:: https://badge.fury.io/py/aliyun-fc.svg
:target: https://badge.fury.io/py/aliyun-fc
.. image:: https://travis-ci.org/aliyun/fc-python-sdk.svg?branch=master
:target: https://travis-ci.org/aliyun/fc-python-sdk
.. image:: https://coveralls.io/repos/github/aliyun/fc-python-sdk/badge.svg?branch=master
:target: https://coveralls.io/github/aliyun/fc-python-sdk?branch=master
Overview
--------
The SDK of this version is dependent on the third-party HTTP library `requests <https://github.com/kennethreitz/requests>`_.
Running environment
-------------------
Python 2.7, Python 3.6
Installation
----------
Install the official release version through PIP (taking Linux as an example):
.. code-block:: bash
$ pip install aliyun-fc
You can also install the unzipped installer package directly:
.. code-block:: bash
$ sudo python setup.py install
Getting started
---------------
.. code-block:: python
# -*- coding: utf-8 -*-
import fc
# To know the endpoint and access key id/secret info, please refer to:
# https://help.aliyun.com/document_detail/52984.html
client = fc.Client(
endpoint='<Your Endpoint>',
accessKeyID='<Your AccessKeyID>',
accessKeySecret='<Your AccessKeySecret>')
# Create service.
client.create_service('service_name')
# Create function.
# the current directory has a main.zip file (main.py which has a function of myhandler)
client.create_function('service_name', 'function_name', 'main.my_handler', codeZipFile = 'main.zip')
# Invoke function synchronously.
client.invoke_function('service_name', 'function_name')
# Invoke a function with a input parameter.
client.invoke_function('service_name', 'function_name', payload=bytes('hello_world'))
# Read a image and invoke a function with the file data as input parameter.
src = open('src_image_file_path', 'rb') # Note: please open it as binary.
r = client.invoke_function('service_name', 'function_name', payload=src)
# save the result as the output image.
dst = open('dst_image_file_path', 'wb')
dst.write(r)
src.close()
dst.close()
# Invoke function asynchronously.
client.async_invoke_function('service_name', 'function_name')
# List services.
client.list_services()
# List functions with prefix and limit.
client.list_functions('service_name', prefix='the_prefix', limit=10)
# Delete service.
client.delete_service('service_name')
# Delete function.
client.delete_function('service_name', 'function_name')
Testing
-------
To run the tests, please set the access key id/secret, endpoint as environment variables.
Take the Linux system for example:
.. code-block:: bash
$ export ENDPOINT=<endpoint>
$ export ACCESS_KEY_ID=<AccessKeyId>
$ export ACCESS_KEY_SECRET=<AccessKeySecret>
$ export STS_TOKEN=<roleARN>
Run the test in the following method:
.. code-block:: bash
$ nosetests # First install nose
More resources
--------------
- `Aliyun FunctionCompute docs <https://help.aliyun.com/product/50980.html>`_
Contacting us
-------------
- `Links <https://help.aliyun.com/document_detail/53087.html>`_
License
-------
- `MIT <https://github.com/aliyun/fc-python-sdk/blob/master/LICENSE>`_
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aliyun-fc-0.6.tar.gz
(9.2 kB
view details)
File details
Details for the file aliyun-fc-0.6.tar.gz
.
File metadata
- Download URL: aliyun-fc-0.6.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85fd17a4bdc1aa7687a33274444ac5768f804797e521c732975bd4aceafff6b5 |
|
MD5 | 74fd92cd51ef226795e9c161e74f87a3 |
|
BLAKE2b-256 | f9fc7522ef331eb1cb0fb4160d63990f0e9b0d97c1833a205b542617c1ad8453 |