2016-12-26 14 views
0

AWS s3バケット上でUTF-8形式のファイル名を扱う際に、引用符で囲まれたファイル名の一部(ファイルへのリンク(私はbotoライブラリを使用しています)私のpythonアプリケーションのコードで引用された同じファイル名と異なる場合があります。私が知ったように、彼らは異なるnormalization forms of unicodeのために異なり、問題はunicodedata.normalizeを使用した後に消えます。AWS S3バケット用のUnicode正規化形式とは

しかし、私はAWSで使用されている正規化形式(NFCNFKCNFD又はNFKD)に関する情報を見つけていないので、私は非常にその情報、感謝を提供trastedソースの任意suggestanceを理解するであろう。

+1

S3がオブジェクトキーを正規化するのは非常に奇妙なようです。コードポイントシーケンスの例とそのシーケンスに変換するシーケンスを提供できますか? –

答えて

0

S3は正規化自体を適用していないようです。私が(S3ウェブコンソールを使って)ユニコード名(例えばÄrende.txt)を持つファイルをMacからS3に、またWindowsからS3にアップロードすると、S3で2つのファイルになります。 S3コンソールでは同じように見えますが、名前のエンコーディングが異なるため、S3によって区別されます。

あなたのアプリケーション(ユーザー)にどのように影響するかを正確に考え、それに応じて調整する必要があります。たとえば、ユーザーが環境(MacとWindowsとLinux)を切り替えることができ、プラットフォーム間の一貫性のある動作が期待される場合は、自分で名前を正規化する必要があるようです。ユーザーが単一のプラットフォームから一貫して作業する場合は、ほとんどの場合気にする必要はありません。

関連する問題