---
title: S3
description: S3ファイルのアップロード、ダウンロード、一覧表示、管理
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="s3"
  color="linear-gradient(45deg, #1B660F 0%, #6CAE3E 100%)"
/>

{/* MANUAL-CONTENT-START:intro */}
[Amazon S3](https://aws.amazon.com/s3/)はAmazon Web Servicesが提供する高度にスケーラブルで安全、かつ耐久性のあるクラウドストレージサービスです。ウェブ上のどこからでも任意の量のデータを保存および取得できるように設計されており、あらゆる規模のビジネスで最も広く使用されているクラウドストレージソリューションの一つです。

Amazon S3では以下のことが可能です：

- **無制限のデータ保存**: 事実上無制限のストレージ容量で、あらゆるサイズと種類のファイルをアップロード
- **どこからでもアクセス**: 世界中のどこからでも低レイテンシーでファイルを取得
- **データの耐久性を確保**: 自動データレプリケーションによる99.999999999%（11個の9）の耐久性
- **アクセス制御**: きめ細かいセキュリティポリシーによるアクセス権限の管理
- **自動スケーリング**: 手動介入や容量計画なしに変動するワークロードに対応
- **シームレスな統合**: 他のAWSサービスやサードパーティアプリケーションと簡単に連携
- **コスト最適化**: アクセスパターンに基づいて複数のストレージクラスから選択し、コストを最適化

Simでは、S3統合によりエージェントがAmazon S3バケットに保存されたファイルを安全な署名付きURLを使用して取得・アクセスできるようになります。これにより、ドキュメント処理、保存データの分析、設定ファイルの取得、ワークフローの一部としてのメディアコンテンツへのアクセスなど、強力な自動化シナリオが可能になります。エージェントはAWS認証情報を公開することなくS3からファイルを安全に取得できるため、クラウドに保存されたアセットを自動化プロセスに簡単に組み込むことができます。この統合により、クラウドストレージとAIワークフローの間のギャップが埋められ、AWSの堅牢な認証メカニズムによるセキュリティのベストプラクティスを維持しながら、保存データへのシームレスなアクセスが可能になります。
{/* MANUAL-CONTENT-END */}

## 使用手順

S3をワークフローに統合します。ファイルのアップロード、オブジェクトのダウンロード、バケットの内容一覧表示、オブジェクトの削除、バケット間でのオブジェクトのコピーが可能です。AWSアクセスキーとシークレットアクセスキーが必要です。

## ツール

### `s3_put_object`

AWS S3バケットにファイルをアップロードする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `accessKeyId` | string | はい | AWSアクセスキーID |
| `secretAccessKey` | string | はい | AWSシークレットアクセスキー |
| `region` | string | はい | AWSリージョン（例：us-east-1） |
| `bucketName` | string | はい | S3バケット名 |
| `objectKey` | string | はい | S3内のオブジェクトキー/パス（例：folder/filename.ext） |
| `file` | file | いいえ | アップロードするファイル |
| `content` | string | いいえ | アップロードするテキストコンテンツ（ファイルの代わり） |
| `contentType` | string | いいえ | Content-Typeヘッダー（指定がない場合はファイルから自動検出） |
| `acl` | string | いいえ | アクセスコントロールリスト（例：private, public-read） |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `url` | string | アップロードされたS3オブジェクトのURL |
| `metadata` | object | ETagと場所を含むアップロードメタデータ |

### `s3_get_object`

AWS S3バケットからオブジェクトを取得する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `accessKeyId` | string | はい | AWSアクセスキーID |
| `secretAccessKey` | string | はい | AWSシークレットアクセスキー |
| `s3Uri` | string | はい | S3オブジェクトURL |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `url` | string | S3オブジェクトをダウンロードするための署名付きURL |
| `metadata` | object | タイプ、サイズ、名前、最終更新日を含むファイルメタデータ |

### `s3_list_objects`

AWS S3バケット内のオブジェクトを一覧表示する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `accessKeyId` | string | はい | AWS アクセスキーID |
| `secretAccessKey` | string | はい | AWS シークレットアクセスキー |
| `region` | string | はい | AWSリージョン（例：us-east-1） |
| `bucketName` | string | はい | S3バケット名 |
| `prefix` | string | いいえ | オブジェクトをフィルタリングするプレフィックス（例：folder/） |
| `maxKeys` | number | いいえ | 返すオブジェクトの最大数（デフォルト：1000） |
| `continuationToken` | string | いいえ | ページネーション用トークン |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `objects` | array | S3オブジェクトのリスト |

### `s3_delete_object`

AWS S3バケットからオブジェクトを削除する

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `accessKeyId` | string | はい | AWS アクセスキーID |
| `secretAccessKey` | string | はい | AWS シークレットアクセスキー |
| `region` | string | はい | AWSリージョン（例：us-east-1） |
| `bucketName` | string | はい | S3バケット名 |
| `objectKey` | string | はい | 削除するオブジェクトのキー/パス |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `deleted` | boolean | オブジェクトが正常に削除されたかどうか |
| `metadata` | object | 削除メタデータ |

### `s3_copy_object`

AWS S3バケット内または異なるバケット間でオブジェクトをコピーする

#### 入力

| パラメータ | 型 | 必須 | 説明 |
| --------- | ---- | -------- | ----------- |
| `accessKeyId` | string | はい | AWS アクセスキーID |
| `secretAccessKey` | string | はい | AWS シークレットアクセスキー |
| `region` | string | はい | AWSリージョン（例：us-east-1） |
| `sourceBucket` | string | はい | ソースバケット名 |
| `sourceKey` | string | はい | ソースオブジェクトのキー/パス |
| `destinationBucket` | string | はい | 宛先バケット名 |
| `destinationKey` | string | はい | 宛先オブジェクトのキー/パス |
| `acl` | string | いいえ | コピーされたオブジェクトのアクセス制御リスト（例：private、public-read） |

#### 出力

| パラメータ | 型 | 説明 |
| --------- | ---- | ----------- |
| `url` | string | コピーされたS3オブジェクトのURL |
| `metadata` | object | コピー操作のメタデータ |
