Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated May 22, 2024

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

StoragePathの使用

StoragePath を使用して、S3バケット内の任意のパスにアクセス、アップロード、またはダウンロードできます。Amplify Gen 1 CLIは自動的に以下のディレクトリを作成します:

  • public/: アプリケーションのすべてのユーザーがアクセス可能
  • protected/<identityId>/: すべてのユーザーが読み取り可能(ファイルをアップロードしたユーザーのidentityIDを指定する必要があります)。書き込みはユーザーのみが可能
  • private/<identityId>/: 作成したユーザーのみが読み取りと書き込みが可能

Amplify Gen2またはAmplifyで作成されていないS3バケットを使用している場合は、StoragePathを使用してバケット内の任意のディレクトリにアクセス、アップロード、またはダウンロードできます。

StoragePath を文字列から直接作成するか、ユーザーのCognito IdentityIdでパスを構築することで、S3リソースへのパスを指定できます。

StoragePath は以下の条件を満たす必要があります:

  1. '/'(先頭スラッシュ)で始まらない
  2. 空でない

文字列からStoragePathを作成する

文字列からStoragePathを構築するとき、指定された文字列がパスになります。

// "public/exampleFile.txt" に解決されます
const StoragePath.fromString('public/exampleFile.txt');

ユーザーのIdentityIdを含むStoragePathを作成する

Amplify AuthユーザーのIdentityIdを含むStoragePathを構築したい場合があります。Storage APIが呼び出されるときに、ユーザーのIdentityIdを注入するヘルパー関数を作成しました。これは、AuthプラグインからのIdentityId取得が非同期ではないためです。

// ユーザーのidentityIdが "123" の場合、
// StoragePathは "private/123/exampleFile.txt" に解決されます
StoragePath.fromIdentityId(
(String identityId) => 'private/$identityId/exampleFile.txt',
};