2

レンダリングされた画像を S3 にアップロードするアプリケーションを構築しました。次に、すべての画像 URL をサード パーティに返し、サード パーティはレンダリングされたすべてのファイルを取得します。問題は、サード パーティが、レンダリングされたファイルをフェッチできませんでしたというエラーを受け取っていることです。これは、サード パーティに提供した URL が画像を返さないことを意味します。

同じ URL を使用して 2 回目の試行を行うと、すべて正常に機能します。ブラウザ経由で画像の URL を読み込もうとすると、そこにあります。

当初は、S3 全体での伝播に関係していると考えていました。私たちの地域にはファイルがありましたが、サードパーティの地域にはまだ画像がありませんでした。そのため、10 分間の遅延を設定しました。これは役に立ちませんでした。これを 30 分または 1 時間に増やすこともできますが、そうするとテストが難しくなり、Amazon は数秒しかかからないと言っています。

何が起こっているのかについてのアイデアはありますか? 適切なアクセス許可を持つ存在するイメージが、サードパーティ サービスが最初に要求したときに返されないのはなぜですか?

4

1 に答える 1

1

クライアントがブラウザを使用してファイルをダウンロードするか、サードパーティを使用するかに違いがない場合、あなたが述べたこの問題は意味がありません。

私の頭に浮かぶ唯一のことは、URLの構築とhttpsを介したアクセスです。

https ://<bucket-name>.s3.amazonaws.com/<file name>を使用してオブジェクト URL を作成できます。おそらく次のエラーが発生します。

curl: (51) SSL ピア証明書または SSH リモート キーに問題がありました

または、Firefox を使用すると、次のようになります。 この接続は信頼されていません

この問題は、ユーザーが証明書エラーを無視することで簡単に解決できますが、サード パーティが API を使用している場合、不適切な例外処理を使用することでこの問題が隠される可能性があります。

サード パーティがこのファイルを取得しようとしている方法について、さらに詳しい情報を教えてください。

于 2012-08-11T21:13:01.760 に答える