--- title: "清理 S3 仓库时需要密钥选项 – 如何解决此 Elasticsearch 异常" date: 2026-01-02 lastmod: 2026-01-02 description: "当 Elasticsearch 尝试与 S3 仓库交互但未提供必要的密钥时会出现此错误。本文介绍如何通过配置 elasticsearch.yml 或使用 keystore 存储密钥来解决问题。" tags: ["S3仓库", "AWS凭证", "异常处理", "存储配置"] summary: " 版本: 7.4-7.17 简而言之,当 Elasticsearch 尝试与 S3 仓库交互但未提供必要的密钥(secret_key)时,会出现此错误。密钥是访问 S3 所需的 AWS 凭证的一部分。要解决此问题,您可以在 elasticsearch.yml 文件中提供密钥,或使用 Elasticsearch keystore 安全存储密钥。另外,如果您的 Elasticsearch 在 AWS 内运行,也可以使用 IAM 角色。请始终确保提供的密钥具有在 S3 存储桶上执行所需操作的必要权限。 日志上下文 # 日志 “secret_key option is required for cleaning up S3 repository” 的类名是 CleanupS3RepositoryCommand.java. 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: throw new ElasticsearchException("access_key option is required for cleaning up S3 repository"); } String secretKey = secretKeyOption.value(options); if (Strings.isNullOrEmpty(secretKey)) { throw new ElasticsearchException("secret_key option is required for cleaning up S3 repository"); } } } " --- > **版本:** 7.4-7.17 简而言之,当 Elasticsearch 尝试与 S3 仓库交互但未提供必要的密钥(secret_key)时,会出现此错误。密钥是访问 S3 所需的 AWS 凭证的一部分。要解决此问题,您可以在 elasticsearch.yml 文件中提供密钥,或使用 Elasticsearch keystore 安全存储密钥。另外,如果您的 Elasticsearch 在 AWS 内运行,也可以使用 IAM 角色。请始终确保提供的密钥具有在 S3 存储桶上执行所需操作的必要权限。 日志上下文 ----------- 日志 "secret\_key option is required for cleaning up S3 repository" 的类名是 [CleanupS3RepositoryCommand.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考: ```java throw new ElasticsearchException("access_key option is required for cleaning up S3 repository"); } String secretKey = secretKeyOption.value(options); if (Strings.isNullOrEmpty(secretKey)) { throw new ElasticsearchException("secret_key option is required for cleaning up S3 repository"); } } } ```