pub struct AwsLambdaPlugin {
function_uri: String,
authorization: Authorization,
ssl_verify: bool,
timeout: Duration,
client: Arc<OutboundClient>,
}Expand description
Invokes an AWS Lambda function and maps its reply into Context.response.
Fields§
§function_uri: StringFull Lambda function URL / API endpoint.
ssl_verify: bool§timeout: Duration§client: Arc<OutboundClient>Implementations§
Source§impl AwsLambdaPlugin
impl AwsLambdaPlugin
Sourcepub fn from_config(
config: &HashMap<String, Value>,
resources: &Arc<PluginResources>,
) -> Result<Self, String>
pub fn from_config( config: &HashMap<String, Value>, resources: &Arc<PluginResources>, ) -> Result<Self, String>
Builds the plugin from node config.
Accepted keys:
-
function_uri(string, required): the Lambda function URL or API endpoint to invoke. A missing/empty value is a config-load error. -
authorization(object, optional): eitherapikey(string) — sent as thex-api-keyheader (no signing), oriam(object) — SigV4 credentials:accesskey(string, required)secretkey(string, required)aws_region(string, defaultus-east-1)aws_service(string, defaultlambda)session_token(string, optional) — addsx-amz-security-token.
An
iamblock missingaccesskey/secretkeyis a config error. -
ssl_verify(bool, defaultfalse): verify TLS certificates. -
timeout(integer ms, default3000): whole-call deadline.
type: aws-lambda
config:
function_uri: https://xyz.lambda-url.us-east-1.on.aws/
authorization:
iam:
accesskey: AKIDEXAMPLE
secretkey: ${AWS_SECRET_KEY}
aws_region: us-east-1
aws_service: lambda
ssl_verify: false
timeout: 3000Sourcefn build_request(
&self,
ctx: &Context,
amz_time: u64,
) -> Result<OutboundRequest, String>
fn build_request( &self, ctx: &Context, amz_time: u64, ) -> Result<OutboundRequest, String>
Assembles the outbound headers, canonical query string, and target URL
for the request, applying the configured authorization (API key header
or SigV4 signing). amz_time is the signing timestamp (seconds since
epoch), threaded in so tests are deterministic.
Trait Implementations§
Source§impl Plugin for AwsLambdaPlugin
impl Plugin for AwsLambdaPlugin
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Auto Trait Implementations§
impl Freeze for AwsLambdaPlugin
impl !RefUnwindSafe for AwsLambdaPlugin
impl Send for AwsLambdaPlugin
impl Sync for AwsLambdaPlugin
impl Unpin for AwsLambdaPlugin
impl UnsafeUnpin for AwsLambdaPlugin
impl !UnwindSafe for AwsLambdaPlugin
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more