Я использую REST Api, которому нужно загружать файлы с Amazon S3. Когда я вызываю api, это дает мне исключение: com.amazonaws.AmazonClientException: Cannot load the credentials from the credential profiles file. Please make sure that your credentials file is at the correct location (~/.aws/credentials), and is in valid format.

Затем я запускаю тот же метод, что и вызвал API, это удалось. Я использую tomcat 9.0.2, я предполагаю, что каталог учетных данных по умолчанию ~ / .aws / credential отличается для приложения tomcat.

Итак, я проверил $ ​​CATALINA_HOME, то есть /opt/apache-tomcat-9.0.2, и скопировал туда учетные данные, но все еще не работает.

Впервые задавая здесь вопросы, надеюсь, что ясно выразил свою проблему. Спасибо за любую помощь от кого-либо.

0
Xiangyu Zhao 5 Окт 2018 в 00:49

1 ответ

Лучший ответ

Домашний каталог ~ зависит от пользователя, запускающего сервер Tomcat, поэтому, если Tomcat работает, например, как пользователь root, вам нужно будет поместить учетные данные в /root/.aws/credentials.

В зависимости от версии Tomcat обычно можно найти пользователя по умолчанию в /etc/default/tomcat7. Это выглядело бы примерно так:

TOMCAT7_USER=tomcat7

В этом случае домашний каталог будет /home/tomcat7, и, таким образом, учетные данные войдут в /home/tomcat7/.aws/credentials.

3
Tom 5 Окт 2018 в 01:23