运行snowflake-s3compat-api-test-suite时遇InvalidAccessKeyId错误求助
排查Snowflake S3兼容API测试InvalidAccessKeyId错误的步骤
验证环境变量的正确性与生效状态
- 执行
echo $AWS_ACCESS_KEY_ID和echo $AWS_SECRET_ACCESS_KEY(Linux/macOS)或echo %AWS_ACCESS_KEY_ID%(Windows),确认输出的密钥与Snowflake提供的S3兼容API密钥完全匹配,注意不要包含多余空格、换行符或特殊字符。 - 确认环境变量是在运行
mvn test -Dtest=S3CompatApiTest的同一终端会话中设置的,环境变量仅对当前会话生效,新窗口需重新配置或设置为全局生效。
- 执行
检查测试配置文件的覆盖优先级
- 查看项目
src/test/resources目录下是否存在配置文件(如aws.properties、s3-config.properties等),这类文件中的密钥配置会优先于环境变量生效,确认文件内的Access Key ID是否正确,若无需本地配置可暂时重命名该文件后重试。
- 查看项目
确认Snowflake端的密钥有效性
- 登录Snowflake控制台,检查生成的S3兼容API密钥是否关联了正确的存储集成(Storage Integration),且该集成拥有测试所需的读写权限;同时确认密钥未过期、未被撤销。
排查Maven命令的参数冲突
- 检查
mvn test命令是否附带了-DAWS_ACCESS_KEY_ID这类显式参数,这类参数会覆盖环境变量配置,可执行mvn help:describe -Dcmd=test -Ddetail查看测试阶段的参数配置情况。
- 检查
验证端点配置的准确性
- 确认测试使用的S3兼容端点为对应Snowflake区域的正确地址,检查环境变量
AWS_ENDPOINT_URL或配置文件中的端点设置是否正确,错误的端点会导致密钥验证逻辑异常。
- 确认测试使用的S3兼容端点为对应Snowflake区域的正确地址,检查环境变量
内容的提问来源于stack exchange,提问作者Kalpesh
相关产品推荐
相关产品推荐

