2016-11-01 11 views
2

私はここ数時間苦労していますが、ここでは目が見えないようです。 scrapyとAmazon S3の間のリンクを確立しようとしていますが、バケットが存在しないというエラーが発生し続ける(12回チェックした)。S3サポートの治療


エラーメッセージ:組み合わせて

2016-11-01 22:58:08 [scrapy] ERROR: Error storing csv feed (30 items) in: s3://onvista.s3-website.eu-central-1.amazonaws.com/feeds/vista/2016-11-01T21-57-21.csv 

botocore.exceptions.ClientError: An error occurred (NoSuchBucket) when calling the PutObject operation: The specified bucket does not exist 


と私の settings.py

ITEM_PIPELINES = { 
    'onvista.pipelines.OnvistaPipeline': 300, 
    #'scrapy.pipelines.files.S3FilesStore': 600 
} 

AWS_ACCESS_KEY_ID = 'key' 
AWS_SECRET_ACCESS_KEY = 'secret' 
FEED_URI = 's3://onvista.s3-website.eu-central-1.amazonaws.com/feeds/%(name)s/%(time)s.csv' 

FEED_FORMAT = 'csv' 


誰かが私に垣間見ることのできる作業環境を持っていますか?

答えて

3

ホーズウェブサイトURLでAmazon S3バケットを参照する代わりに、それを名前で参照してください。

ことになるだろう、あなたの場合は
s3://mybucket/scraping/feeds/%(name)s/%(time)s.json 

、::

scrapy Feed Exportsドキュメントには、例を示します

s3://onvista/feeds/%(name)s/%(time)s.json 
+0

私はこれを試してみますが、どのように '異なる地域を区別scrapy'んバケツの名前は常に世界中で一意ですか? – Jan

+0

Amazon S3バケット名はグローバルに一意です。通常、バケットが存在する地域に接続するのが最善ですが、これを処理するコードがいくつかあるかもしれません。 –

+0

ありがとう、あなたの努力に感謝します - 私はあなたのバケツがフランクフルト、ドイツに位置していない**場合にのみ動作するように追加する必要があります。私は理由を知らないけど、アメリカではバケツを使ってそのトリックをやった。 – Jan