1

HerokuでDjango アプリをセットアップしていて、メディア ファイルを S3 に保存したいと考えています。Python の Boto モジュールを使用していますが、同じエラーが引き続き発生します。

エラー:

No handler was ready to authenticate. 
1 handlers were checked. ['HmacAuthV1Handler'] Check your credentials

資格情報を保存しようとしました

(a) in myHeroku config fileおよび usingos.environ['AWS_ACCESS_KEY_ID]

(b) 私のsettings.pyファイルと

(c) ドキュメントに従って別の .boto ファイルに。

ファイル自体の資格情報を含む、私のsettings.pyの関連部分は次のとおりです。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': "os.path.join(BASE_DIR, 'db.sqlite3')",   # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': '',
        'PASSWORD': '',
        'HOST': '',                      # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '',                      # Set to empty string for default.
    }
}

#config for S3
DATABASES['default'] =  dj_database_url.config()
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

S3_BUCKET_NAME = 'companylistings'
#AWS_ACCESS_KEY_ID = 'xxxxxxxxxxxxxxx'
#AWS_SECRET_ACCESS_KEY = 'xxxxxxxxxxxxxxx'
#STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://s3.amazonaws.com/%s' %S3_BUCKET_NAME


MEDIA_ROOT = '/media/'
MEDIA_URL = S3_URL + MEDIA_ROOT

STATIC_ROOT = '/static/'
STATIC_URL = S3_URL + STATIC_ROOT

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
4

2 に答える 2

0

Windows の場合は、次の手順に従ってください。

インストール:pip install awscli

コマンドを開いて次のように入力します。

$ aws configure
AWS Access Key ID: 'your Access Key ID'
AWS Secret Access Key: 'your Secret Access Key'
Default region name: us-east-1
Default output format: json

$ manage.py shell
>>import boto
>>s3 = boto.connect_s3()

エラーメッセージは表示されません。終わった

詳細: http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-quick-configuration

于 2015-10-04T10:44:00.990 に答える
0

あなたが持っているバケット設定を確認してください:

S3_BUCKET_NAME

私の作業構成は次のとおりです。

AWS_STORAGE_BUCKET_NAME

これを試して!

私の完全な設定は次のとおりです。

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'PRIVATE'
AWS_SECRET_ACCESS_KEY = 'PRIVATE'
AWS_STORAGE_BUCKET_NAME = 'PRIVATE'
于 2013-07-29T13:51:01.633 に答える