2017-07-07 22 views
1

s3にいくつかのzipファイルをアップロードしました。すべてが数百MBの範囲です。s3ファイルのダウンロードは予測不可能

通常、スクリプトを使用してファイルをダウンロードします。ファイルサイズとタイプが両方とも変更されているようです。新しいファイルサイズは通常約300バイトで、ダウンロードされたファイルタイプはxmlです。これを引き起こしている可能性がありますどのようになど

<?xml version="1.0" encoding="UTF-8"?> 
<Error>  
    <Code>NoSuchKey</Code> 
    <Message>The specified key does not exist.</Message> 
    <Key>gpdb-5.0.0.0/greenplum-db-5.0.0.0-rhel5-x86_64.zip</Key> 
    <RequestId>83D2047BDBA195A6</RequestId>  
    <HostId>tXKFaiRaNjD26j6fcrTjCk858PGBH2RAjLE1aO4+8hovD6mf+hUzJvCdWKKgrDJGaHXsjWbQP2A=</HostId> 
</Error> 

任意の考え:

ファイルの内容は、この(分かりやすいように空白を入れて)に似て?すべての時間に起こるわけではありません。それはやや断続的です。

+0

どのようにファイルをダウンロードしていますか? –

答えて

0

S3 API Referenceに記載されているとおり、これはファイルではありません。エラーメッセージです。

S3のファイルはオブジェクトと呼ばれ、オブジェクトのパス+ファイル名はオブジェクトキーと呼ばれます。

キーは、バケット内のオブジェクトの一意の識別子です。バケット内のすべてのオブジェクトはちょうど1つのキーを持っています。 [...] Amazon S3のすべてのオブジェクトは、Webサービスのエンドポイント、バケット名、キー、およびオプションでバージョンの組み合わせによって一意に解決できます。たとえば、URL http://doc.s3.amazonaws.com/2006-03-01/AmazonS3.wsdlには、「doc」がバケットの名前で、「2006-03-01/AmazonS3.wsdl」がキーです。

http://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#BasicsKeys

あなたがオブジェクトにアクセスしようとしたとき404 Not Foundエラーコードが添付されている必要があります。このエラーメッセージは、あるキー(パス+ファイル名)バケットにはオブジェクトが存在しないことを示していますエラーで示されたもの - あなたが要求したもの。 S3コンソールでその不在を確認できるはずです。

オブジェクトが過去にアップロードされていた場合、このエラーはオブジェクトが実際にアップロードされなかったこと、またはその後削除されたことを意味します。

オブジェクトが非常に最近(通常は数秒以内)にアップロードされた場合は、このエラーを取得するべきではありませんが、このエラーは、2つの追加のいずれかの条件が発生することが可能である:

  • あなたの場合バケットにGETまたはHEADリクエストを送信してオブジェクトが存在するかどうかを確認してから、オブジェクトをアップロードしてください。これを行うと、S3内の内部最適化のためオブジェクトにアクセスする前に短時間が経過することがあります。存在しないオブジェクトを取得しようとすると、S3は短時間の間にオブジェクトが安全に保存されていてもそこに存在しないという内部概念を持つことがあります。リクエストを再試行してください。
  • すでに同じキーを持つオブジェクトがあった場合は、そのオブジェクトを削除してから、同じキーで新しいオブジェクトをアップロードした後、新しいアップロードの後すぐにエラーが発生するか、古いオブジェクトを再度ダウンロードしてください。

パフォーマンス、信頼性、およびアップロードされたオブジェクトの即時可用性の間で設計のトレードオフである、これらの条件はやや珍しいですが、彼らはあなたのバケツが原因S3のconsistency modelに、多くのトラフィックを持っている場合は特に、発生する可能性があります同じオブジェクトが最近ダウンロードされ、ダウンロード、削除、または上書きが試みられました。

エラーレスポンスの<RequestId>および<HostId>コードは、S3で発生している特定の問題に関するサポートリクエストを送信する必要がある場合に、AWSサポートに提供できる不透明な診断コードです。特定の要求を見つけて問題を特定します。 AWS以外の意味を持たないため、機密情報とはみなされません。

この場合、この特定のファイルをダウンロードしようとした特定のバケットにないオブジェクトをダウンロードしようとしているように見えるため、AWSサポートに連絡する必要はありません。まったく同じファイルに対して成功と失敗が交互に発生した場合、それは予期せぬものであり、サポートケースが順番通りであるかもしれませんが、通常はS3の内部エラーが非常に異なる応答になるはずです。

関連する問題