S3 署名付き URL を使用するファイルの送信コンテンツタイプヘッダー
パク・ヒョンテク
Twigfarmのシニア・フルスタック・エンジニア
Amazon API ゲートウェイについて私が気に入らないことの 1 つは、30 秒のタイムアウトがあることです。つまり、API Gateway によるファイルの削減と縮小は、ファイルサイズやネットワーク速度に関しては十分に機能しない可能性があるということです。解決策は簡単です。API Gateway なしで S3 にアップロードしたファイルをアップロードしました。
S3 バケットはパブリックアクセスになるため、これは安全な方法ではありません。S3 署名付き URL では、S3 バケットは非公開のまま指定の期間のみ S3 バケットにアクセスできます。S3 署名付き URL に関するチュートリアルの多くはオンラインで重複していますが、この記事の目的ではありません。
この記事では、私が犯した間違いを共有したいと思います。この記事があなたの時間の節約に役立つことを願っています。
アーキテクチャ
ラムダは JavaScript SDK を使用して S3 にアクセスし、署名付き URL を取得できるためです:https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html。を検索してください 署名付き URL を取得 ページ上。
アップロード
ダウンロード
問題
スムージングとピーリングファイルはバターのように滑らかです。これでタイムアウトから解放されました。数ギガバイトのファイルを簡単に処理できます。しかし、発見した動画ファイルを発見した後に、なんかおかしなことに気づきました。
コンテンツタイプヘッダーはビデオ/mp4でなければなりません。ほとんどの場合、Content-Type ヘッダーを読んでファイルタイプを考えていました。したがって、検討と検討の時点から、content-type ヘッダーが一貫していることを確認する必要があります。
解決策
前述のさまざまなパラメータを呼び出しているときにgetSignedURL関数を呼び出しても、実際には何も機能しませんでした。しかし、解決策はきわめて単純でした。
Axiosは、私が誇張したContent-Typeヘッダーの説明を指定していません。Content-Type ヘッダーを追加したところ、魔法のように機能しました。バカに時間を無駄にしすぎた:)。
現在のコンテンツタイプは ビデオ/mp4 意図したとおりに。
この記事があなたの時間を節約してくれることを願っています。