Skip to main content

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>`_

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)

Uploaded Source

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

Hashes for aliyun-fc-0.6.tar.gz
Algorithm Hash digest
SHA256 85fd17a4bdc1aa7687a33274444ac5768f804797e521c732975bd4aceafff6b5
MD5 74fd92cd51ef226795e9c161e74f87a3
BLAKE2b-256 f9fc7522ef331eb1cb0fb4160d63990f0e9b0d97c1833a205b542617c1ad8453

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page