aws_utils_lambda 0.3.0

AWS Lambda utilities for Rust
Documentation
use aws_sdk_lambda::{
    Client,
    operation::invoke::InvokeOutput,
    primitives::Blob,
    types::{InvocationType, LogType},
};

use crate::error::{Error, from_aws_sdk_error};

pub async fn invoke(
    client: &Client,
    function_name: Option<impl Into<String>>,
    client_context: Option<impl Into<String>>,
    invokation_type: Option<InvocationType>,
    log_type: Option<LogType>,
    payload: Option<impl Into<Blob>>,
    qualifier: Option<impl Into<String>>,
) -> Result<InvokeOutput, Error> {
    client
        .invoke()
        .set_client_context(client_context.map(|c| c.into()))
        .set_function_name(function_name.map(|f| f.into()))
        .set_invocation_type(invokation_type)
        .set_log_type(log_type)
        .set_payload(payload.map(|p| p.into()))
        .set_qualifier(qualifier.map(|q| q.into()))
        .send()
        .await
        .map_err(from_aws_sdk_error)
}