[][src]Crate azure_functions

Azure Functions for Rust

The Azure Functions for Rust crate supports creating Azure Functions with Rust.

The following Azure Functions trigger bindings are supported:

The following Azure Functions input bindings are supported:

The following Azure Functions output bindings are supported:

Eventually more bindings will be implemented, including custom binding data.

Example

Start by installing the Azure Functions for Rust SDK:

$ cargo install azure-functions-sdk

Create a new Azure Functions for Rust application:

$ cargo func new-app hello && cd hello

Create a HTTP-triggered function:

$ cargo func new http -n hello

This generates src/functions/hello.rs with the following contents:

This example is not tested
use azure_functions::{
    bindings::{HttpRequest, HttpResponse},
    func,
};

#[func]
pub fn hello(req: HttpRequest) -> HttpResponse {
    "Hello from Rust!".into()
}

Azure Functions are implemented by applying a #[func] attribute to a Rust function.

Run the application with cargo func run:

$ cargo func run

The above Azure Function can be invoked with http://localhost:8080/api/hello.

The expected response would be Hello from Rust!.

Re-exports

pub use azure_functions_codegen::func;
pub use azure_functions_codegen::export;

Modules

bindings

Module for Azure Functions bindings.

blob

Module for blob storage types.

event_hub

Module for Event Hub types.

generic

Module for generic Azure Function bindings.

http

Module for HTTP types.

send_grid

Module for SendGrid types.

signalr

Module for SignalR types.

timer

Module for timer types.

Structs

Context

Represents context about an Azure Function invocation.

Functions

worker_main

The main entry point for the Azure Functions for Rust worker.

worker_main_with_extensions

The main entry point for the Azure Functions for Rust worker.