{ "cells": [ { "cell_type": "markdown", "id": "a634365e", "metadata": {}, "source": [ "# AWS S3 Directory\n", "\n", ">[Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html) is an object storage service\n", "\n", ">[AWS S3 Directory](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html)\n", "\n", "This covers how to load document objects from an `AWS S3 Directory` object." ] }, { "cell_type": "code", "execution_count": null, "id": "49815096", "metadata": { "tags": [] }, "outputs": [], "source": [ "#!pip install boto3" ] }, { "cell_type": "code", "execution_count": 2, "id": "2f0cd6a5", "metadata": { "tags": [] }, "outputs": [], "source": [ "from langchain.document_loaders import S3DirectoryLoader" ] }, { "cell_type": "code", "execution_count": 3, "id": "321cc7f1", "metadata": { "tags": [] }, "outputs": [], "source": [ "loader = S3DirectoryLoader(\"testing-hwc\")" ] }, { "cell_type": "code", "execution_count": null, "id": "2b11d155", "metadata": { "tags": [] }, "outputs": [], "source": [ "loader.load()" ] }, { "cell_type": "markdown", "id": "0690c40a", "metadata": {}, "source": [ "## Specifying a prefix\n", "You can also specify a prefix for more finegrained control over what files to load." ] }, { "cell_type": "code", "execution_count": 5, "id": "72d44781", "metadata": {}, "outputs": [], "source": [ "loader = S3DirectoryLoader(\"testing-hwc\", prefix=\"fake\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "2d3c32db", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[Document(page_content='Lorem ipsum dolor sit amet.', lookup_str='', metadata={'source': 's3://testing-hwc/fake.docx'}, lookup_index=0)]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loader.load()" ] }, { "cell_type": "markdown", "source": [ "## Configuring the AWS Boto3 client\n", "You can configure the AWS [Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html) client by passing\n", "named arguments when creating the S3DirectoryLoader.\n", "This is useful for instance when AWS credentials can't be set as environment variables.\n", "See the [list of parameters](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html#boto3.session.Session) that can be configured." ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [ "loader = S3DirectoryLoader(\"testing-hwc\", aws_access_key_id=\"xxxx\", aws_secret_access_key=\"yyyy\")" ], "metadata": {} }, { "cell_type": "code", "execution_count": null, "outputs": [], "source": [ "loader.load()" ], "metadata": {} } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }