IAM が有効な Neptune インスタンスに接続するときに、Neptune がハンドシェイク エラーをスローするのは一般的な問題です。 IAM (Identity and Access Management) は、AWS リソースへのアクセスを管理および制御するアマゾン ウェブ サービス (AWS) の機能です。ただし、IAM が有効な Neptune インスタンスに接続しようとすると、ハンドシェイク エラーが発生する可能性があります。このエラーは、IAM ロールの権限が間違っているか、Neptune インスタンスが正しく設定されていないことが原因である可能性があります。この問題に対応して、この記事では、このエラーを解決して IAM 対応の Neptune インスタンスにスムーズに接続する方法を詳しく紹介します。
iam が有効になっている aws neptune インスタンスがあり、認証なしで CRUD 操作を実行できますが、認証を有効にするとハンドシェイク エラー ログにエラーがスローされます。
注: lambda 関数には完全な neptune 権限があります
リーリー ###エラーログ: 新しい接続をインスタンス化できません。接続ステータスをクローズに設定しています。 接続プールの新しい接続の作成中にエラーが発生しました: WebSocket: ハンドシェイク エラー 'e0104: 正常な接続を確立できません: websocket: ハンドシェイク エラー'注: iam 認証が無効になっている場合でもクエリを実行できます。助けてください。
リクエストに署名しようとしましたが、認証に失敗しました。 回避策必要な権限がすべて付与されている場合に neptune iam で動作させるには、コード内に修正が必要な問題がいくつかあります。
ではなく、
neptune-db である必要があります。
は
*gremlingo.driverremoteconnectionsettings である必要があります。
使用されるヘッダーは、実際には署名者によって返されたヘッダーではなく、元のリクエストのヘッダーであるため、
settings.authinfo.header = req である必要があります。ヘッダ###。
の下のコード ブロックは次のようになります:
リーリー
注意すべき点は、現時点では gremlin-go には認証トークンの自動更新を許可する方法がないということです。つまり、有効期限が切れた後に新しい接続を確立する必要があります。
以上がIAM が有効な Neptune インスタンスに接続すると、Neptune が不正なハンドシェイク エラーをスローしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。