Cloudflare 中文文档
Workers
Workers
编辑这个页面
跳转官方原文档
Set theme to dark (⇧+D)

Foreign Function Interface (FFI)

Via Pyodide, Python Workers provide a Foreign Function Interface (FFI) to JavaScript. This allows you to:

The details of Pyodide’s Foreign Function Interface are documented here, and Workers written in Python are able to take full advantage of this.

​​ Using Bindings from Python Workers

Bindings allow your Worker to interact with resources on the Cloudflare Developer Platform. When you declare a binding on your Worker, you grant it a specific capability, such as being able to read and write files to an R2 bucket.

For example, to access a KV namespace from a Python Worker, you would declare the following in your Worker’s wrangler.toml:

…and then call .get() on the binding object that is exposed on env:

Under the hood, env is actually a JavaScript object. When you call .FOO, you are accessing this property via a JsProxy — special proxy object that makes a JavaScript object behave like a Python object.

​​ Using JavaScript globals from Python Workers

When writing Workers in Python, you can access JavaScript globals by importing them from the js module. For example, note how Response is imported from js in the example below:

Refer to the Python examples to learn how to call into JavaScript functions from Python, including console.log and logging, providing options to Response, and parsing JSON.