アマゾンケンドラ は、機械学習 (ML) を活用した、高精度で使いやすいインテリジェント検索サービスです。 Amazon Kendra は、データ ソース コネクタのスイートを提供し、コンテンツがどこにあっても、コンテンツの取り込みとインデックス作成のプロセスを簡素化します。
組織の貴重なデータは、構造化リポジトリと非構造化リポジトリの両方に保存されます。 エンタープライズ検索ソリューションは、複数の構造化および非構造化リポジトリにまたがるデータをまとめて、索引付けおよび検索できる必要があります。
そのようなデータ リポジトリの XNUMX つが Dropbox です。 Enterprise ユーザーは、Dropbox を使用してドキュメントをクラウドにアップロード、転送、保存します。 ドキュメントを保存する機能に加えて、Dropbox は Dropbox Paper を提供しています。これは、ユーザーが XNUMX か所で共同編集してコンテンツを作成できる共同編集ツールです。 Dropbox Paper では、必要に応じてテンプレートを使用してドキュメントに構造を追加できます。 ファイルや紙に加えて、Dropbox ではウェブページへのショートカットをフォルダに保存することもできます。
Dropbox 用の Amazon Kendra コネクタを使用して、Dropbox アカウントに保存されている情報を検索できるようになりました。 この投稿では、Dropbox に保存されている情報にインデックスを付け、Amazon Kendra インテリジェント検索機能を使用する方法を示します。 さらに、Amazon Kendra の ML を利用したインテリジェント検索は、キーワード検索があまり効果的でない、自然言語の物語コンテンツを含む構造化されていないドキュメントから情報を正確に見つけることができます。
ソリューションの概要
Amazon Kendra を使用すると、複数のデータ ソースを設定して、ドキュメント リポジトリ全体を検索するための中心的な場所を提供できます。 このソリューションでは、Dropbox 用の Amazon Kendra コネクタを使用して Dropbox リポジトリまたはフォルダのインデックスを作成する方法を示します。 このソリューションは、次の手順で構成されています。
- Dropbox でアプリを構成し、接続の詳細を取得します。
- 詳細を保存します AWSシークレットマネージャー.
- Amazon Kendra コンソールを介して Dropbox データ ソースを作成します。
- Dropbox リポジトリ内のデータにインデックスを付けます。
- サンプル クエリを実行して情報を取得します。
前提条件
Dropbox 用の Amazon Kendra コネクタを試すには、次のものが必要です。
Dropbox アプリを構成して接続の詳細を収集する
Dropbox データ ソースを設定する前に、Dropbox リポジトリに関する詳細情報が必要です。 事前に集めておこう。
- に行く www.dropbox.com/developers.
- 選択する アプリ コンソール.
- 資格情報を使用してサインインします (Enterprise アカウントにサインインしていることを確認してください)。
- 選択する アプリを作成.
- 選択 範囲指定されたアクセス.
- 選択 フルDropbox (または、インデックスを作成する特定のフォルダーの名前)。
- アプリの名前を入力します。
- 選択する アプリを作成.
一連のタブで構成画面を表示できます。 - アクセス許可を設定するには、 権限 タブには何も表示されないことに注意してください。
- 次のスクリーンショットに示すように、最小限の権限セットを選択します。
- 選択する 送信.
権限の変更が成功したことを示すメッセージが表示されます。 - ソフトウェア設定ページで、下図のように 設定 タブで、アプリ キーをコピーします。
- 選択する ショー の隣に アプリの秘密 シークレットをコピーします。
- 生成されたアクセス トークン、選択する 生成する トークンをコピーします。
これらの値は安全な場所に保管してください。後で参照する必要があります。
セッション トークンは最大 4 時間有効です。 コンテンツのインデックスを作成するたびに、新しいセッション トークンを生成する必要があります。
Secrets Manager に Dropbox 資格情報を保存する
Dropbox の資格情報を Secrets Manager に保存するには、次の手順を実行します。
- Secrets Managerコンソールで、 新しい秘密を保存する.
- 選択する 他のタイプの秘密.
- のキーと値のペアを XNUMX つ作成します。
appKey
,appSecret
,refreshToken
Dropbox から保存した値を入力します。 - 選択する Save.
- 秘密の名前、名前を入力します(たとえば、
AmazonKendra-dropbox-secret
). - オプションの説明を入力します。
- 選択する Next.
- ローテーションの構成 セクションで、すべての設定をデフォルトのままにして選択します Next.
- ソフトウェア設定ページで、下図のように レビュー ページ、選択 オンラインショップ.
Dropbox 用の Amazon Kendra コネクタを構成する
Amazon Kendra コネクタを設定するには、次の手順を実行します。
- Amazon Kendraコンソールで、 インデックスを作成する.
- インデックス名、インデックスの名前を入力します (たとえば、
my-dropbox-index
). - オプションの説明を入力します。
- ロール名、IAM ロール名を入力します。
- オプションの暗号化設定とタグを構成します。
- 選択する Next.
- ユーザー アクセス制御の構成 セクションで、設定をデフォルトのままにして選択します Next.
- プロビジョニングエディション選択 開発者版.
- 選択する 創造する.
これにより、IAM ロールが作成および伝達され、Amazon Kendra インデックスが作成されます。これには最大 30 分かかる場合があります。 - 選択する データソース ナビゲーションペインに表示されます。
- ドロップボックス、選択する コネクタを追加.
- データソース名、名前を入力します(たとえば、
my-dropbox-connector
). - オプションの説明を入力します。
- 選択する Next.
- 認証トークンの種類選択 アクセストークン(一時利用).
- AWSシークレットマネージャーシークレットで、前に作成したシークレットを選択します。
- IAMの役割、選択する 新しい役割を作成する.
- ロール名、名前を入力します(たとえば、
AmazonKendra-dropbox-role
). - 選択する Next.
- エンティティまたはコンテンツ タイプの選択で、コンテンツ タイプを選択します。
- 周波数、選択する オンデマンドで実行.
- 選択する Next.
- オプションのフィールド マッピングを設定し、 Next.
- 選択する レビューと作成 選択して データソースを追加する.
- 選択する 今すぐ同期.
- 同期が完了するまで待ちます。
ソリューションをテストする
コンテンツを Dropbox アカウントから Amazon Kendra インデックスに取り込んだので、いくつかのクエリをテストできます。
インデックスに移動して選択します インデックス付きコンテンツを検索. サンプルの検索クエリを入力し、検索結果をテストします (クエリはアカウントの内容によって異なります)。
Dropbox コネクタは、Dropbox からローカル ID 情報もクロールします。 ユーザーの場合、ユーザーの電子メール ID をプリンシパルとして設定します。 グループの場合、グループ ID をプリンシパルとして設定します。 ユーザー/グループで検索結果をフィルタリングするには、Search Console に移動します。
クリック "ユーザー名またはグループでクエリをテストする」をクリックして展開し、「」というボタンをクリックしますユーザー名またはグループを適用する"。
ユーザー名またはグループ名を入力して、 申し込む. 次に、検索クエリを入力して Enter キーを押します。 これにより、基準に基づいてフィルタリングされた一連の結果が表示されます。
おめでとう! Amazon Kendra を使用して、Dropbox アカウントからインデックス化されたコンテンツに基づいて回答と洞察を表示することに成功しました。
オフライン アクセス用の永久トークンを生成する
この投稿の手順では、一時アクセス トークンの作成、構成、および使用について説明します。 アプリは、オフライン アクセスを要求することで長期アクセスを取得することもできます。この場合、アプリは更新トークンを受け取ります。この更新トークンを使用して、必要に応じて新しい一時的なアクセス トークンを取得できます。手動でユーザーが介入する必要はありません。 詳細については、 Dropbox OAuth ガイド & Dropbox 承認ドキュメント. 次の手順を使用して、永続的な更新トークンを作成します (たとえば、同期をスケジュールに従ってトリガーするように設定します)。
- 前と同じように、アプリ キーとアプリ シークレットを取得します。
- 新しいブラウザで、次の場所に移動します
https://www.dropbox.com/oauth2/authorize?token_access_type=offline&response_type=code&client_id=
. - デフォルトを受け入れて選択します 送信.
- 選択する Continue.
- 選択する 次を許可します。.
アクセス コードが生成されます。 - アクセスコードをコピーします。
これで、アクセス コードから更新トークンを取得できます。 - ターミナル ウィンドウで、次の curl コマンドを実行します。
この更新トークンをアプリ キーおよびアプリ シークレットと共に保存して、Amazon Kendra のデータ ソース設定で永久トークンを設定できます。 Amazon Kendra はアクセス トークンを生成し、必要に応じてアクセスに使用します。
制限事項
このソリューションには次の制限があります。
- ファイルのコメントはインデックスにインポートされません
- Dropbox のカスタム メタデータを追加するオプションがない
- Google ドキュメント、シート、スライドには Google ワークスペースまたは Google アカウントが必要であり、含まれていません
まとめ
Amazon Kendra 用の Dropbox コネクタを使用すると、組織は、Amazon Kendra によるインテリジェントな検索を使用して、アカウントに保存されている情報のリポジトリを安全に利用できます。
この投稿では、基本を紹介しましたが、カバーしなかった多くの追加機能があります。 例えば:
- Amazon Kendra インデックスのユーザーベースのアクセス制御を有効にして、設定したユーザーとグループへのアクセスを制限できます
- 指定できます
allowedUsersColumn
&allowedGroupsColumn
それぞれユーザーとグループに基づいてアクセス制御を適用できます - 追加のフィールドを Amazon Kendra インデックス属性にマッピングし、それらをファセット、検索、および検索結果に表示できるようにすることができます
- Dropbox データ ソースを Amazon Kendra のカスタム ドキュメント エンリッチメント (CDE) 機能と統合して、取り込み中に追加の属性マッピング ロジックやカスタム コンテンツ変換を実行できます。
これらの可能性などについては、以下を参照してください。 AmazonKendra開発者ガイド.
著者,
アシシュ・ラグワンカー AWSのシニアエンタープライズソリューションアーキテクトです。 彼の主な関心事には、AI / ML、サーバーレス、コンテナテクノロジーが含まれます。 Ashishはマサチューセッツ州ボストンに拠点を置き、読書、アウトドア、家族との時間を楽しんでいます。