Overview
Add Amazon Web Services to any ModuleX agent or workflow. Interact with AWS services including DynamoDB, S3, Lambda, SNS, SQS, EventBridge, CloudWatch Logs, and Redshift via the AWS SDK (boto3).
Categories : Cloud Infrastructure · Developer Tools & Infrastructure · Data Storage · Auth : AWS Access Key · Actions : 21
Authentication
AWS Access Key
Authenticate using an AWS access key ID and secret access key.
Step 1
Sign in to the AWS Management Console.
Step 2
Go to IAM > Users > your user > Security credentials.
Step 3
Create an access key and save both the Access Key ID and Secret Access Key.
Required Credentials
Field Description Required Format Access Key ID Your AWS Access Key ID Yes AKIAIOSFODNN7EXAMPLESecret Access Key Your AWS Secret Access Key Yes wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Available Actions
cloudwatch_logs_put_log_event — Upload a log event to a specified CloudWatch Logs log stream.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the CloudWatch log group
Name of the log stream within the log group
Unix timestamp in milliseconds for the event
Sequence token from a previous PutLogEvents call (not needed for a new log stream)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"next_sequence_token" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Next Sequence Token"
},
"rejected_log_events_info" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Rejected Log Events Info"
}
},
"required" : [
"success"
],
"title" : "CloudwatchLogsPutLogEventOutput" ,
"type" : "object"
}
dynamodb_create_table — Create a new DynamoDB table with configurable key schema, billing mode, and optional streams.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the table to create
key_primary_attribute_name
Name of the partition key attribute
key_primary_attribute_type
Data type of the partition key: S (string), N (number), or B (binary)
key_secondary_attribute_name
Name of the sort key attribute (optional)
key_secondary_attribute_type
Data type of the sort key: S (string), N (number), or B (binary)
Billing mode: PROVISIONED or PAY_PER_REQUEST
Read capacity units (required when billing_mode is PROVISIONED)
Write capacity units (required when billing_mode is PROVISIONED)
stream_specification_enabled
Whether DynamoDB Streams is enabled
stream_specification_view_type
Stream view type: KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"table_description" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Table Description"
}
},
"required" : [
"success"
],
"title" : "DynamodbCreateTableOutput" ,
"type" : "object"
}
dynamodb_execute_statement — Execute a PartiQL statement against DynamoDB for reads or writes.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
PartiQL statement to execute
List of parameter values for the PartiQL statement (strings)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"items" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Items" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "DynamodbExecuteStatementOutput" ,
"type" : "object"
}
dynamodb_get_item — Retrieve an item from a DynamoDB table by its primary key.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Item key in DynamoDB JSON format, e.g. {“id”: {“S”: “123”}}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"item" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Item"
}
},
"required" : [
"success"
],
"title" : "DynamodbGetItemOutput" ,
"type" : "object"
}
dynamodb_put_item — Create or replace an item in a DynamoDB table.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Item in DynamoDB JSON format, e.g. {“id”: {“S”: “123”}, “name”: {“S”: “foo”}}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"attributes" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Attributes"
}
},
"required" : [
"success"
],
"title" : "DynamodbPutItemOutput" ,
"type" : "object"
}
dynamodb_query — Query items from a DynamoDB table based on key conditions.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Key condition expression, e.g. partitionKey = :pk AND sortKey > :sk
Comma-separated attribute names to retrieve
expression_attribute_names
Substitution tokens for attribute names, e.g. {“#n”: “name”}
expression_attribute_values
Substitution values in DynamoDB JSON format, e.g. {“:pk”: {“S”: “val”}}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"items" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Items" ,
"type" : "array"
},
"count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Count"
},
"scanned_count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Scanned Count"
}
},
"required" : [
"success"
],
"title" : "DynamodbQueryOutput" ,
"type" : "object"
}
dynamodb_scan — Scan all items in a DynamoDB table with optional filtering.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Comma-separated attribute names to retrieve
Filter expression to apply after scanning
expression_attribute_names
Substitution tokens for attribute names, e.g. {“#n”: “name”}
expression_attribute_values
Substitution values in DynamoDB JSON format, e.g. {“:val”: {“S”: “x”}}
Maximum number of items to evaluate
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"items" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Items" ,
"type" : "array"
},
"count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Count"
},
"scanned_count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Scanned Count"
}
},
"required" : [
"success"
],
"title" : "DynamodbScanOutput" ,
"type" : "object"
}
dynamodb_update_item — Update attributes of an existing item or add a new item in a DynamoDB table.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Item key in DynamoDB JSON format, e.g. {“id”: {“S”: “123”}}
Update expression, e.g. SET #n = :val
expression_attribute_names
Substitution tokens for attribute names, e.g. {“#n”: “name”}
expression_attribute_values
Substitution values in DynamoDB JSON format, e.g. {“:val”: {“S”: “x”}}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"attributes" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Attributes"
}
},
"required" : [
"success"
],
"title" : "DynamodbUpdateItemOutput" ,
"type" : "object"
}
dynamodb_update_table — Modify settings for a DynamoDB table such as billing mode, capacity, or streams.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the DynamoDB table
Billing mode: PROVISIONED or PAY_PER_REQUEST
Read capacity units (required when billing_mode is PROVISIONED)
Write capacity units (required when billing_mode is PROVISIONED)
stream_specification_enabled
Whether DynamoDB Streams is enabled
stream_specification_view_type
Stream view type: KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, or NEW_AND_OLD_IMAGES
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"table_description" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Table Description"
}
},
"required" : [
"success"
],
"title" : "DynamodbUpdateTableOutput" ,
"type" : "object"
}
eventbridge_send_event — Send an event to an Amazon EventBridge event bus.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the EventBridge event bus
JSON object to send as the event detail
Free-form string (max 128 chars) identifying the event type (Default: modulex.event)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"failed_entry_count" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Failed Entry Count"
},
"entries" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Entries" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "EventbridgeSendEventOutput" ,
"type" : "object"
}
lambda_create_function — Create a new AWS Lambda function from inline source code.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name for the Lambda function
IAM Role ARN for the function execution role
Function source code (Python handler)
Lambda runtime: python3.12, python3.11, nodejs20.x, etc. (Default: python3.12)
Handler entrypoint (e.g. lambda_function.lambda_handler) (Default: lambda_function.lambda_handler)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"function_name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Function Name"
},
"function_arn" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Function Arn"
},
"runtime" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Runtime"
},
"role" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Role"
},
"handler" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Handler"
},
"code_size" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Code Size"
},
"last_modified" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Last Modified"
},
"state" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "State"
}
},
"required" : [
"success"
],
"title" : "LambdaCreateFunctionOutput" ,
"type" : "object"
}
lambda_invoke_function — Invoke an AWS Lambda function synchronously and return its response.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name or ARN of the Lambda function to invoke
JSON object to send as the invocation payload
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"status_code" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Status Code"
},
"payload" : {
"default" : null ,
"title" : "Payload"
},
"function_error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Function Error"
},
"executed_version" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Executed Version"
}
},
"required" : [
"success"
],
"title" : "LambdaInvokeFunctionOutput" ,
"type" : "object"
}
list_region_options — List available AWS regions.
Response {
"$defs" : {
"RegionInfo" : {
"additionalProperties" : false ,
"properties" : {
"region_name" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Region Name"
},
"endpoint" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Endpoint"
},
"opt_in_status" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Opt In Status"
}
},
"title" : "RegionInfo" ,
"type" : "object"
}
},
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"regions" : {
"items" : {
"$ref" : "#/$defs/RegionInfo"
},
"title" : "Regions" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "ListRegionOptionsOutput" ,
"type" : "object"
}
redshift_create_rows — Insert rows into an Amazon Redshift Serverless table.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the Redshift Serverless workgroup
List of column names (strings), e.g. [“id”, “name”]
List of row arrays, e.g. [[1, “Alice”], [2, “Bob”]]
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"statement_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Statement Id"
}
},
"required" : [
"success"
],
"title" : "RedshiftCreateRowsOutput" ,
"type" : "object"
}
redshift_delete_rows — Delete rows from an Amazon Redshift Serverless table.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the Redshift Serverless workgroup
WHERE clause with named parameters, e.g. id = :id
Named parameter values, e.g. {“id”: 1}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"statement_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Statement Id"
}
},
"required" : [
"success"
],
"title" : "RedshiftDeleteRowsOutput" ,
"type" : "object"
}
redshift_query_database — Run a SELECT query against an Amazon Redshift Serverless database.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the Redshift Serverless workgroup
List of column names to retrieve (strings); omit for SELECT *
FROM clause, e.g. schema_name.table_name
WHERE clause with named parameters, e.g. id = :id
ORDER BY clause, e.g. column_name ASC
Maximum number of rows to return (Default: 10)
Named parameter values, e.g. {“id”: 1}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"records" : {
"items" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"type" : "array"
},
"title" : "Records" ,
"type" : "array"
},
"total_num_rows" : {
"anyOf" : [
{
"type" : "integer"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Total Num Rows"
},
"column_metadata" : {
"items" : {
"additionalProperties" : true ,
"type" : "object"
},
"title" : "Column Metadata" ,
"type" : "array"
}
},
"required" : [
"success"
],
"title" : "RedshiftQueryDatabaseOutput" ,
"type" : "object"
}
redshift_update_rows — Update rows in an Amazon Redshift Serverless table.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Name of the Redshift Serverless workgroup
Key-value pairs to set, e.g. {“col1”: “new_val”}
WHERE clause with named parameters, e.g. id = :id
Named parameter values, e.g. {“id”: 1}
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"statement_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Statement Id"
}
},
"required" : [
"success"
],
"title" : "RedshiftUpdateRowsOutput" ,
"type" : "object"
}
s3_generate_presigned_url — Generate a presigned URL to download an object from an S3 bucket.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Object key (path) to generate the URL for
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"url" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Url"
}
},
"required" : [
"success"
],
"title" : "S3GeneratePresignedUrlOutput" ,
"type" : "object"
}
s3_upload_base64_as_file — Upload a base64-encoded string as a file to an S3 bucket.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
S3 object key (path including filename and extension)
Base64-encoded file content
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"bucket" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Bucket"
},
"key" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Key"
}
},
"required" : [
"success"
],
"title" : "S3UploadBase64AsFileOutput" ,
"type" : "object"
}
sns_send_message — Publish a message to an Amazon SNS topic.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"message_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Message Id"
}
},
"required" : [
"success"
],
"title" : "SnsSendMessageOutput" ,
"type" : "object"
}
sqs_send_message — Send a message to an Amazon SQS queue.
Parameters AWS region (e.g. us-east-1, eu-west-1) (Default: us-east-1)
JSON object to send as the message body
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"message_id" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Message Id"
},
"md5_of_message_body" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Md5 Of Message Body"
},
"sequence_number" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Sequence Number"
}
},
"required" : [
"success"
],
"title" : "SqsSendMessageOutput" ,
"type" : "object"
}
Limits & Quotas
AWS service limits vary by service, region, and account. See
AWS Service Quotas
for per-service details.
DynamoDB: default 40,000 RCU / 40,000 WCU per table (on-demand auto-scales).
S3: no per-request limit; 3,500 PUT/s and 5,500 GET/s per prefix.
Lambda: 1,000 concurrent executions (default, adjustable).
SNS/SQS: region-dependent throughput limits.
Redshift Data API: 200 active queries per cluster/workgroup.
Error model: all AWS SDK exceptions are caught and returned as
success=False + error rather than raising.
Links