2017-11-24 5 views
0

CloudFrontは、サイズ変更されたバージョンの画像を保存し、一般に公開します。各画像は保存され、この厳格な方法で提供しています:AWS CloudFrontのファイル名にエイリアスを使用

/content/resized/2x/md5_hash_of_image.jpg

だけばらつきが2xmd5_hash_of_imageです。

さらに、アクセスキーを含むクエリ文字列が要求に追加されます。

しかし、私はこの形式でイメージを提供したいと思います: /images/2x/md5_hash_of_image/random_friendly_filename.jpg

random_friendly_filenameがサーバによってオンザフライで生成されるだろう。

これはCloudFrontで可能ですか?たとえば、カスタム動作などですか?

答えて

1

CloudFrontには固有の機能はありませんが、CloudFrontでは[email protected]の助けを借りて、CloudFrontリクエスト(およびレスポンス)をJavaScriptを使用して操作することができます。

'use strict'; 

exports.handler = (event, context, callback) => { 
    const request = event.Records[0].cf.request; 
    request.uri = request.uri.replace(/\/[^\/]+\.jpg$/,'.jpg'); 
    return callback(null, request); 
}; 

これは、URI(パス)をとり、したがって、その前に、あなたのrandom-friendly-filename/権利を取り除くだけ.jpgで最終/random-friendly-filename.jpgを置き換えます。

任意の特定の画像について、random-friendly-filenameが常に同じ場合は、これが起点要求トリガーになります。ベース画像のハッシュ値が同じであっても、親しみやすい名前が変更された場合は、これをViewer Requestトリガーとして必要とします。

関連する問題