AWS SDKを使用してAWS Elastic Searchからインデックスを取得する際の403 forbiddenエラー

ジェリー:

AWS SDKを使用してエラスティック検索に接続しています。私はhttps://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-indexing.htmlに従っています

このトピックの他の質問は、許可の問題やelasticsearchへの書き込み中の問題のようなものでした。私にとって、書き込みはうまく機能していますが、読み取りだけでエラーが発生しています

POSTメソッドはすべて正常に機能し、インデックスを追加しています。同じ方法で検索のGETリクエストを作成しています

  public void getIndexedRecords(String index,String type,String id,String documentJSON){

        try {
            String endpoint = host +"/" +index+"/_search" ;
            // Builds the request. We need an AWS service, URI, HTTP method, and request
            // body (in this case, JSON).

            Request<?> request = new DefaultRequest<Void>(service);
            request.setEndpoint(new URI(endpoint));
            request.setHttpMethod(HttpMethodName.GET);
            request.setContent(new ByteArrayInputStream(documentJSON.getBytes()));

            // Retrieves our credentials from the computer. For more information on where
            // this class looks for credentials, see
            // http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html.

            String accessKey = CommonUtils.getCommonProperty("accessKey", "");
            String secretKey = CommonUtils.getCommonProperty("secretKey", "");;
            AWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);

            // Signs the request using our region, service, and credentials. AWS4Signer
            // modifies the original request rather than returning a new request.

            AWS4Signer signer = new AWS4Signer();
            signer.setRegionName(region);
            signer.setServiceName(service);
            signer.sign(request, creds);
            request.addHeader("Content-Type", "application/json");

            // Creates and configures the HTTP client, creates the error and response
            // handlers, and finally executes the request.

            ClientConfiguration config = new ClientConfiguration();
            config.setProtocol(Protocol.HTTPS);
            AmazonHttpClient client = new AmazonHttpClient(config);
            System.out.println(client);
            ExecutionContext context = new ExecutionContext(true);
            ESAWSErrorHandler errorHandler = new ESAWSErrorHandler();
            ESAWSResponseHandler<Void> responseHandler = new ESAWSResponseHandler<Void>();
            client.requestExecutionBuilder().executionContext(context).errorResponseHandler(errorHandler).request(request)
                    .execute(responseHandler);
        } catch (Exception e) {
            e.printStackTrace();
        }


    }

しかし、403禁止エラーが表示されます。エンドポイントURLでCurl XGETを実行すると、結果が得られます。ここで何が悪いのですか?

com.amazonaws.http.AmazonzonClients.http.AmazonHttpClient $ RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1588)のcom.amazonawsでcom.amazonaws.AmazonServiceException:(Service:null; Status Code:403; Error Code:Forbidden; Request ID:null)。 http.AmazonHttpClient $ RequestExecutor.executeOneRequest(AmazonHttpClient.java:1258)at com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeHelper(AmazonHttpClient.java:1030)at com.amazonaws.http.AmazonHttpClient $ RequestExecutor.doExecute(AmazonHttpClient.java: 742)com.amazonaws.http.AmazonHttpClient $ RequestExecutor.executeWithTimer(AmazonHttpClient.java:716)at com.amazonaws.http.AmazonHttpClient $ RequestExecutor.execute(AmazonHttpClient.java:699)at com.amazonaws.http.AmazonHttpClient $ RequestExecutor .access $ 500(AmazonHttpClient.java:667)at com.amazonaws.http.AmazonHttpClient $ RequestExecutionBuilderImpl。実行(AmazonHttpClient.java:649)

Sudharsan Sivasankaran:

es:ESHttpGetESのポリシーで必要なると思います

リファレンス:
Amazon Elasticsearch Serviceアクセス制御Amazon Elasticsearch Serviceドメインへのアクセスを制御し
ます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

NEST 2.3.1(Elastic Search)でインデックスを作成する際のエラー

分類Dev

AWS:elastic_ipcloudformationを使用してエラスティックIPに名前を割り当てます

分類Dev

AWS Java SDK v2を使用してAWS EKSから認証トークンを取得する

分類Dev

AWS Elastic Beanstalkでのmysqlclientインストールエラー

分類Dev

AWS Elastic Beanstalk Node.jsnpmインストールエラー

分類Dev

神社とaws-sdkを使用してデジタルオーシャンスペースにアップロードする際のエラー

分類Dev

AWS Elastic BeanStalknodejsデプロイメントエラー

分類Dev

AWS-SDKを使用してCloudWatchにデータを送信する

分類Dev

AWS Elastic BeanstalkDjangoの移行

分類Dev

Django; AWS Elastic Beanstalkエラー:WSGIPathが存在しないファイルを参照しています

分類Dev

AWS Elastic BlockStorageを使用したKubernetes

分類Dev

AWS Elastic Beanstalkを使用してdjangoをデプロイする際のERR_CONNECTION_TIMED_OUT(nginx + gunicornを使用)

分類Dev

AWS Elastic Beanstalkを使用してdjangoをデプロイする際のERR_CONNECTION_TIMED_OUT(nginx + gunicornを使用)

分類Dev

AWS SDK for Goを使用してEMRクラスターを作成する方法

分類Dev

AWS SDK for Goを使用してEMRクラスターを作成する方法

分類Dev

AWS Elastic Beanstalkを使用したFlaskSQLAlchemyデータベース-時間の無駄?

分類Dev

MarkLogicは、AWS Elastic File Systemを使用した共有ディスクフェイルオーバーをサポートしていますか?

分類Dev

Elastic Beanstalkを使用してaws-sdkクレデンシャルを設定するにはどうすればよいですか?

分類Dev

AWS Elastic Trancoderを使用して、1つのジョブで複数のフォーマットをエンコードできますか?

分類Dev

aws-sdk-v1を使用してRubyスクリプトでAWSSSMパラメーターストアからデータを取得する

分類Dev

Rails-AWS(Elastic Beanstalk)のデプロイ、エラーコマンド 'git clone'

分類Dev

Cloudbees AWS Elastic Beanstalkデプロイメントを使用して非Javaアプリケーションをデプロイできますか?

分類Dev

AWS Elastic Beanstalk Docker FromECRエラー「Dockerrun.aws.jsonにDockerイメージが指定されていません」

分類Dev

aws-sdk-goで正規表現を使用してAWSリソースをフィルタリングする

分類Dev

Spring Boot Javaを介してローカルでアクセスすると、AWS Elastic Cache(Redis)が接続に失敗しました(jedis接続エラー)

分類Dev

AWS Elastic Beanstalk環境にnamecheapドメイン名を使用していますか?

分類Dev

AWS AppSync SDK forReact-Nativeを使用してクエリパラメータを動的に設定する方法

分類Dev

browserifyを使用してブラウザーでaws-sdkを使用する際の問題

分類Dev

AWSでeksctlを使用してクラスターを作成する際のエラーを解決する方法

Related 関連記事

  1. 1

    NEST 2.3.1(Elastic Search)でインデックスを作成する際のエラー

  2. 2

    AWS:elastic_ipcloudformationを使用してエラスティックIPに名前を割り当てます

  3. 3

    AWS Java SDK v2を使用してAWS EKSから認証トークンを取得する

  4. 4

    AWS Elastic Beanstalkでのmysqlclientインストールエラー

  5. 5

    AWS Elastic Beanstalk Node.jsnpmインストールエラー

  6. 6

    神社とaws-sdkを使用してデジタルオーシャンスペースにアップロードする際のエラー

  7. 7

    AWS Elastic BeanStalknodejsデプロイメントエラー

  8. 8

    AWS-SDKを使用してCloudWatchにデータを送信する

  9. 9

    AWS Elastic BeanstalkDjangoの移行

  10. 10

    Django; AWS Elastic Beanstalkエラー:WSGIPathが存在しないファイルを参照しています

  11. 11

    AWS Elastic BlockStorageを使用したKubernetes

  12. 12

    AWS Elastic Beanstalkを使用してdjangoをデプロイする際のERR_CONNECTION_TIMED_OUT(nginx + gunicornを使用)

  13. 13

    AWS Elastic Beanstalkを使用してdjangoをデプロイする際のERR_CONNECTION_TIMED_OUT(nginx + gunicornを使用)

  14. 14

    AWS SDK for Goを使用してEMRクラスターを作成する方法

  15. 15

    AWS SDK for Goを使用してEMRクラスターを作成する方法

  16. 16

    AWS Elastic Beanstalkを使用したFlaskSQLAlchemyデータベース-時間の無駄?

  17. 17

    MarkLogicは、AWS Elastic File Systemを使用した共有ディスクフェイルオーバーをサポートしていますか?

  18. 18

    Elastic Beanstalkを使用してaws-sdkクレデンシャルを設定するにはどうすればよいですか?

  19. 19

    AWS Elastic Trancoderを使用して、1つのジョブで複数のフォーマットをエンコードできますか?

  20. 20

    aws-sdk-v1を使用してRubyスクリプトでAWSSSMパラメーターストアからデータを取得する

  21. 21

    Rails-AWS(Elastic Beanstalk)のデプロイ、エラーコマンド 'git clone'

  22. 22

    Cloudbees AWS Elastic Beanstalkデプロイメントを使用して非Javaアプリケーションをデプロイできますか?

  23. 23

    AWS Elastic Beanstalk Docker FromECRエラー「Dockerrun.aws.jsonにDockerイメージが指定されていません」

  24. 24

    aws-sdk-goで正規表現を使用してAWSリソースをフィルタリングする

  25. 25

    Spring Boot Javaを介してローカルでアクセスすると、AWS Elastic Cache(Redis)が接続に失敗しました(jedis接続エラー)

  26. 26

    AWS Elastic Beanstalk環境にnamecheapドメイン名を使用していますか?

  27. 27

    AWS AppSync SDK forReact-Nativeを使用してクエリパラメータを動的に設定する方法

  28. 28

    browserifyを使用してブラウザーでaws-sdkを使用する際の問題

  29. 29

    AWSでeksctlを使用してクラスターを作成する際のエラーを解決する方法

ホットタグ

アーカイブ