2017-06-21 11 views
0

AWS S3との通信にboto3を使用しています。私はまずローカルシステムで試しました。それは正常に接続され、正常に動作していた。コードをサーバー(flask-apache2)に移動しました。これでコードは機能しません。AWS S3 - プロファイル情報の特定に失敗しました

[default] 
region = us-west-2 
output = json 

[profile dev] 
region = us-west-2 
output = json 
〜/ .aws/configにファイル

[dev] 
aws_access_key_id = ***************** 
aws_secret_access_key = ********************* 

:それは私が~/.aws/credentials~/.aws/config

〜/ .aws /資格情報ファイル上のパラメータを設定していてもProfileNotFound: The config profile (dev) could not be found例外を示し

これは私がプロファイルにアクセスする方法です:

session = boto3.Session(profile_name='dev') 
s3 = session.resource('s3') 

エラーログ:

session = boto3.Session(profile_name='dev') 
[Wed Jun 21 05:50:56.912720 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/boto3/session.py", line 80, in __init__ 
[Wed Jun 21 05:50:56.912836 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  self._setup_loader() 
[Wed Jun 21 05:50:56.912866 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/boto3/session.py", line 120, in _setup_loader 
[Wed Jun 21 05:50:56.912893 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  self._loader = self._session.get_component('data_loader') 
[Wed Jun 21 05:50:56.912910 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 701, in get_component 
[Wed Jun 21 05:50:56.913104 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  return self._components.get_component(name) 
[Wed Jun 21 05:50:56.913121 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 897, in get_component 
[Wed Jun 21 05:50:56.913134 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  self._components[name] = factory() 
[Wed Jun 21 05:50:56.913145 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 181, in <lambda> 
[Wed Jun 21 05:50:56.913154 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  lambda: create_loader(self.get_config_variable('data_path'))) 
[Wed Jun 21 05:50:56.913163 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 265, in get_config_variable 
[Wed Jun 21 05:50:56.913172 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  elif self._found_in_config_file(methods, var_config): 
[Wed Jun 21 05:50:56.913181 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 286, in _found_in_config_file 
[Wed Jun 21 05:50:56.913190 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  return var_config[0] in self.get_scoped_config() 
[Wed Jun 21 05:50:56.913198 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] File "/usr/local/lib/python2.7/dist-packages/botocore/session.py", line 358, in get_scoped_config 
[Wed Jun 21 05:50:56.913206 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564]  raise ProfileNotFound(profile=profile_name) 
[Wed Jun 21 05:50:56.913225 2017] [wsgi:error] [pid 21586] [remote 103.227.98.117:37564] ProfileNotFound: The config profile (dev) could not be found 
+0

資格情報ファイルは、実行しているユーザー環境とは異なるユーザー環境にある可能性があります。 – helloV

+0

あなたはいくつかの修正を提案できますか? – BBHeeMAA

答えて

0

は最後に、私は解決策を見つけました!

私はAWS資格情報&のファイルをapache2 envvarsファイルに追加しました。そして、問題は解決しました。

ステップ:

$sudo nano /etc/apache2/envvars 
    # Added the following lines 
    export AWS_CONFIG_FILE=/home/ubuntu/.aws/config 
    export AWS_SHARED_CREDENTIALS_FILE=/home/ubuntu/.aws/credentials 

sudo service apache2 reload | sudo service apache2 restart 

を完了!それはうまく動作し始めた!

最初にAWS_CONFIG_FILE=~/.aws/credentialsのように追加しようとしました。 これは動作しませんでした。完全な道を与えなければならない。

関連する問題