AWS S3 ファイルシステム
AWS S3 ファイルシステムアダプターを使用すると、AWS S3 サービスを Deepkit Filesystem として使用できます。
これは @deepkit/filesystem-aws-s3
の一部で、別途インストールが必要です。
npm install @deepkit/filesystem-aws-s3
使用方法
import { Filesystem } from '@deepkit/filesystem'; import { FilesystemAwsS3Adapter } from '@deepkit/filesystem-aws-s3'; const adapter = new FilesystemAwsS3Adapter({ bucket: 'my-bucket', path: 'starting-path/', // 省略可 region: 'eu-central-1', acccessKeyId: '...', secretAccessKey: '...' }); const filesystem = new Filesystem(adapter);
注意: 資格情報をコード内に直接保存しないでください。代わりに、環境変数またはアプリ構成を使用してください。
このアダプターは @aws-sdk/client-s3 の S3 クライアントを使用します。 そのすべての設定オプションをアダプターのコンストラクターに渡せます。
権限
ファイル作成時の可視性を構成できます。
const filesystem = new Filesystem(adapter); filesystem.write('/hello-public.txt', 'hello world', 'public'); filesystem.write('/hello-private.txt', 'hello world', 'private');
ファイル /hello-public.txt
は ACL public-read
で作成され、その URL を使用して誰でも読み取り可能です。URL は filesystem.publicUrl
を使用して取得できます。
const url = filesystem.publicUrl('/hello-public.txt'); // https://my-bucket.s3.eu-central-1.amazonaws.com/starting-path/hello-public.txt
この可視性を使用するには、S3 バケットでオブジェクトベースの ACL を有効にする必要があります。