Amazon CloudSearch ドメインへのドキュメントのアップロードリクエストの送信 - Amazon CloudSearch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon CloudSearch ドメインへのドキュメントのアップロードリクエストの送信

重要

Amazon CloudSearch ドメインにデータをアップロードする前に、次のガイドラインに従ってください。

  • ドキュメントをアップロードする前にグループ化してバッチします。1 つのドキュメントのみで構成されるバッチを継続的にアップロードすると、Amazon が更新を処理 CloudSearch できる速度に大きな悪影響を及ぼします。代わりに、できるだけ制限に近いバッチを作成し、アップロードする頻度を少なくしてください。最大バッチサイズとアップロード頻度の詳細については、「Amazon CloudSearch の制限について」を参照してください。

  • ドメインのドキュメントエンドポイントと検索エンドポイントは、ドメインが存在している間変わりません。すべてのアップロードリクエストや検索リクエストの前にエンドポイントを取得するのではなく、エンドポイントをキャッシュに保存してください。すべてのリクエストDescribeDomainsの前に aws cloudsearch describe-domainsまたは を呼び出して Amazon CloudSearch 設定サービスにクエリを実行すると、リクエストがスロットリングされる可能性があります。

AWS SDK または AWS CLI のいずれかを使用して、ドキュメントのアップロードリクエストを送信することをお勧めします。SDKsと はリクエスト署名AWS CLIを処理し、すべての Amazon CloudSearch アクションを実行する簡単な方法を提供します。Amazon CloudSearch コンソールを使用して、個々のバッチをアップロードし、DynamoDB または S3 からデータをインポートすることもできます。

例えば、次のリクエストは、AWS CLI を使用してバッチをアップロードします。

aws cloudsearchdomain --endpoint-url http://doc-movies-y6gelr4lv3jeu4rvoelunxsl2e.us-east-1.cloudsearch.amazonaws.com upload-documents --content-type application/json --documents movie-data-2013.json

開発およびテストの目的で、ドメインのドキュメントサービスへの匿名アクセスを許可し、署名のない HTTP POST リクエストをドメインのドキュメントサービスに直接送信できます。実稼働環境では、ドメインへのアクセスを特定の IAM ロール、グループ、またはユーザーに制限し、署名付きリクエストを送信します。Amazon のアクセスの制御については CloudSearch、「」を参照してくださいconfigure access policies。リクエストの署名の詳細については、「AWS API リクエストの署名」を参照してください。

例えば、次の POST リクエストは、JSON でフォーマットされたドキュメントのバッチをドメインエンドポイント doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com にアップロードします。

curl -X POST --upload-file data1.json doc-movies-123456789012.us-east-1.cloudsearch.amazonaws.com/2013-01-01/documents/batch --header "Content-Type: application/json"