Skip to main content

S3ReaderTool

Description

The S3ReaderTool is designed to read files from Amazon S3 buckets. This tool allows CrewAI agents to access and retrieve content stored in S3, making it ideal for workflows that require reading data, configuration files, or any other content stored in AWS S3 storage.

Installation

To use this tool, you need to install the required dependencies:

Steps to Get Started

To effectively use the S3ReaderTool, follow these steps:
  1. Install Dependencies: Install the required packages using the command above.
  2. Configure AWS Credentials: Set up your AWS credentials as environment variables.
  3. Initialize the Tool: Create an instance of the tool.
  4. Specify S3 Path: Provide the S3 path to the file you want to read.

Example

The following example demonstrates how to use the S3ReaderTool to read a file from an S3 bucket:
Code

Parameters

The S3ReaderTool accepts the following parameter when used by an agent:
  • file_path: Required. The S3 file path in the format s3://bucket-name/file-name.

AWS Credentials

The tool requires AWS credentials to access S3 buckets. You can configure these credentials using environment variables:
  • CREW_AWS_REGION: The AWS region where your S3 bucket is located. Default is us-east-1.
  • CREW_AWS_ACCESS_KEY_ID: Your AWS access key ID.
  • CREW_AWS_SEC_ACCESS_KEY: Your AWS secret access key.

Usage

When using the S3ReaderTool with an agent, the agent will need to provide the S3 file path:
Code

Error Handling

The S3ReaderTool includes error handling for common S3 issues:
  • Invalid S3 path format
  • Missing or inaccessible files
  • Permission issues
  • AWS credential problems
When an error occurs, the tool will return an error message that includes details about the issue.

Implementation Details

The S3ReaderTool uses the AWS SDK for Python (boto3) to interact with S3:
Code

Conclusion

The S3ReaderTool provides a straightforward way to read files from Amazon S3 buckets. By enabling agents to access content stored in S3, it facilitates workflows that require cloud-based file access. This tool is particularly useful for data processing, configuration management, and any task that involves retrieving information from AWS S3 storage.