Amazon S3 ドキュメントメタデータ
メタデータファイルを使用して、メタデータ、つまりドキュメントに関する追加情報を Amazon S3 バケット内のドキュメントに追加できます。各メタデータファイルは、インデックス作成されたドキュメントに関連付けられます。
メタデータファイルは、インデックス作成されたファイルと同じバケットに保存する必要があります。コンソールを使用して、または、Amazon S3 データソースを作成するときの DocumentsMetadataConfiguration パラメータの S3Prefix フィールドを使用して、メタデータファイルのバケット内の場所を指定できます。Amazon S3 プレフィックスを指定しない場合、メタデータファイルはインデックス作成されたドキュメントと同じ場所に保存する必要があります。
メタデータファイルに Amazon S3 プレフィックスを指定すると、メタデータファイルはインデックス付きドキュメントに並列するディレクトリ構造内に格納されます。Amazon Kendra は指定したディレクトリ内でのみメタデータを検索します。メタデータが読み込まれない場合は、ディレクトリの場所がメタデータの場所と一致していることをチェックします。
次の例は、インデックス作成されたドキュメントの場所がメタデータファイルの場所にどのようにマッピングされるかを示しています。ドキュメントの Amazon S3 キーは、メタデータの Amazon S3 プレフィックスに追加され、.metadata.json のサフィックスが付加されメタデータファイルの Amazon S3 パスを形成することに注意してください。メタデータの Amazon S3 プレフィックスおよび .metadata.json サフィックスと組み合わせた Amazon S3 キーは、合計 1,024 文字以下にする必要があります。キーをプレフィックスおよびサフィックスと組み合わせる場合は、追加文字を考慮して Amazon S3 キーを 1,000 文字未満にしておくことをお勧めします。
Bucket name:
s3://bucketName
Document path:
documents
Metadata path:
none
File mapping
s3://bucketName/documents/file.txt ->
s3://bucketName/documents/file.txt.metadata.jsonBucket name:
s3://bucketName
Document path:
documents/legal
Metadata path:
metadata
File mapping
s3://bucketName/documents/legal/file.txt ->
s3://bucketName/metadata/documents/legal/file.txt.metadata.jsonドキュメントのメタデータは JSON ファイルで定義されます。ファイルは、BOM マーカーの無い UTF-8 テキストファイルである必要があります。JSON ファイルのファイル名は <document>.<extension>.metadata.json である必要があります。この例では、「document」はメタデータが適用されるドキュメントの名前、「extension」はドキュメントのファイル拡張子です。ドキュメント ID は <document>.<extension>.metadata.json 内で一意である必要があります。
JSON ファイルの内容はこのテンプレートに従います。すべての属性やフィールドはオプションなので、すべての属性を含める必要はありません。含める属性ごとに値を指定する必要があります。値を空にすることはできません。_source_uri を指定しない場合、検索結果に Amazon Kendra が返すリンクは、ドキュメントが含まれている Amazon S3 バケットを参照します。DocumentId が s3_document_id フィールドにマップされ、S3 内のドキュメントへの絶対パスとなります。
{ "DocumentId": "S3 document ID, the S3 path to doc", "Attributes": { "_category": "document category", "_created_at": "ISO 8601 encoded string", "_last_updated_at": "ISO 8601 encoded string", "_source_uri": "document URI", "_version": "file version", "_view_count":number of times document has been viewed, "custom attribute key": "custom attribute value",additional custom attributes}, "AccessControlList": [ { "Name": "user name", "Type": "GROUP|USER", "Access": "ALLOW|DENY" } ], "Title": "document title", "ContentType": "For example HTML|
_created_at および _last_updated_at メタデータフィールドは ISO 8601 でエンコードされた日付です。例えば、2012-03-25T12:30:10+01:00 は、中央ヨーロッパ時間の 2012 年 3 月 25 日午後 12 時 30 分 (プラス 10 秒) の ISO 8601 の日付/時刻形式です。
クエリをフィルタリングしたり、クエリ応答をグループ化したりするために使用するドキュメントに関する Attributes フィールドに追加情報を追加できます。詳細については、「カスタムドキュメントフィールドの作成」を参照してください。
AccessControlList フィールドを使用して、クエリからのレスポンスをフィルタリングできます。これにより、特定のユーザーおよびグループのみがドキュメントにアクセスできます。詳細については、「ユーザーコンテキストでのフィルタリング」を参照してください。