Skip to main content

cfunctions

Project description

CFunctions

CFunctions (cloud functions, compute functions, construct functions) are a building block of the [constructs programming model] which can be used to package JavaScript code and run it on a cloud system.

Let's take a look at a simple CFunction:

# Example automatically generated without compilation. See https://github.com/aws/jsii/issues/826
{ CFunction } = require("cfunctions")

cfunc = CFunction(
    capture=["x", "y"],
    code="x + y"
)

print("outfile:", cfunc.outfile)
print("env:", cfunc.env)

The output will look like this:

outfile: /tmp/.cf.out.TAJEO8/cf.js
env: { __CF__x__: '100', __CF__y__: '200' }

The cf.js file is a a self-contained JavaScript module which can be loaded through a require() statement and returns an async function that executes the code after binding it from a set of environment variables.

Let's execute our cfunction:

$ export __CF__x__=123
$ export __CF__y__=10
$ node -e "require('/tmp/.cf.out.TAJEO8/cf.js')().then(result => console.log(result))"
12310

The CFunction.exec() static method can also be used to execute the function:

const result = CFunction.exec('/tmp/.cf.out.TAJEO8/cf.js', {
  env: {
    __CF__x__: 123,
    __CF__y__: 10
  }
});

console.log(result);

License

Licensed under the Apache 2.0 license.

Project details


Release history Release notifications | RSS feed

This version

0.1.8

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cfunctions-0.1.8.tar.gz (68.4 kB view details)

Uploaded Source

Built Distribution

cfunctions-0.1.8-py3-none-any.whl (67.3 kB view details)

Uploaded Python 3

File details

Details for the file cfunctions-0.1.8.tar.gz.

File metadata

  • Download URL: cfunctions-0.1.8.tar.gz
  • Upload date:
  • Size: 68.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9

File hashes

Hashes for cfunctions-0.1.8.tar.gz
Algorithm Hash digest
SHA256 136f6b433cfdd75af1369fbd3f9ea9b51b032af235eb31afe70b1a87c940a9b3
MD5 f06eeef9242ddbee730c137803b5daf6
BLAKE2b-256 21cad4c48c7f7cc5ca5f10ce44e551836edd39256c20f30f5b55570b6401e0a0

See more details on using hashes here.

File details

Details for the file cfunctions-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: cfunctions-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 67.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.9

File hashes

Hashes for cfunctions-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e696927db0103692166e1f5ea3e5c28845552aa0327055372fcf7f6bee1ea489
MD5 8eb62f68c99335992531d2b08541a346
BLAKE2b-256 d4dcbaeb07f7eaa7c6cea54ef143b36d1738b2c9c44a34758cb7c0b3c3f261f7

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