私はPythonとboto3を使ってS3を操作しています。S3キーがリストの直後に存在しない
私は接頭辞でS3バケットやフィルタリングを一覧表示しています:
bucket = s3.Bucket(config.S3_BUCKET)
for s3_object in bucket.objects.filter(Prefix="0000-00-00/", Delimiter="/"):
これは私のS3オブジェクトの反復可能なを提供します。私は、オブジェクトを印刷する場合
は、私が参照してください。
s3.ObjectSummary(bucket_name='validation', key=u'0000-00-00/1463665359.Vfc01I205aeM627249')
私は例外を取得のに、私は体を得るために行く:
botocore.exceptions.ClientError: An error occurred (NoSuchKey) when calling the GetObject operation: The specified key does not exist.
content = s3_object.get()["Body"].read()
だからのbotoがちょうど私のキーを与えました、それが存在しないと言いますか?
これはすべてのキーで発生するわけではありません。ちょうどいくつか。 AWSコンソールで無効なキーを検索すると、そのキーが見つかりません。
おかげで、正確に解くこと私の問題。 – Kong
Cool。それは難解です。 – tedder42
最近のバージョンのboto3/botocoreも地域名として 's3-external-1'をサポートしているので、' boto3.client( 's3'、region_name = 's3-external-1') ' 、または通常の 'AWS_DEFAULT_REGION'、設定ファイルの領域など – jamesls