0

技術:アマゾンS3とCloudFrontを - ハッシュ化されたファイル名としてアップロードされたファイルを公開

  • のpython3
  • Boto3
  • AWS

私が通信するためのpython3とBoto3を使用してプロジェクトを構築していますAmazon S3サービスにはバケットが付いています。

このプロセスは、ユーザーが画像をサービスに投稿することです。これらのイメージはS3バケットにアップロードされ、実際のファイル名の代わりにハッシュされたファイル名を使用して、アマゾンクラウドフロントを通じて提供されます。

例:

  • (S3)キーをアップロードします。
  • (CloudFrontの)サーブを/category-folder/png/image.png:http://d2949o5mkkp72v.cloudfront.net/d824USNsdkmx824

私がアップロードされたファイルにしたいです〜S3は、クラウドフロントサーバーにファイル名としてハッシュ番号として表示されます。

誰でも、S3またはcloudfrontを自動的に変換し、ファイル名をハッシュ名に公開する知識を持っていますか。

+0

クラウドフロントのcdnはコンテンツのurnを提供するだけで、URLとして表示されます...そう、あなたの問題は何ですか? – mootmoot

+0

完全パス+ファイル名を使用したくない場合、ハッシュバージョン(例:spotifyなど)を使用したい - これは可能ですか?組み込みの場合と同様に、または自分でハッシュする必要がありますか? – belthazorNv

+0

@belthazorNvあなた自身でそれをハッシュする必要があります –

答えて

0

私のニーズを十分にするために、私は鍵を維持するために必要なフィールドを作成した(それらを一意にするためには、S3上で、私のMongoDBの両方)

フィールド:付き

original_file_name = my_file_name 
file_category = my_images, children, fun 
file_type = image, video, application 
key = uniqueID 

上記の分野;キー、新しいファイル名、カテゴリ、およびタイプを検索するだけで、キーが存在するかどうかを確認できます。データベースに存在する場合はファイルが存在します。

固有IDを生成する:これは、20文字の長さにIDを制限

def get_key(self): 
    from uuid import uuid1 
    return uuid1().hex[:20] 

を。

関連する問題