大きなファイル (5 GB を超える) は、セグメントと呼ばれる部分的に (?) Swift に保存されます。
例:サイズが13 GBで名前がlog.txt
のファイルがあるとします。
それをコンテナcontainer1にアップロードします。
これがシナリオであり、Swift は次のことを行います。
Swift はこのファイルを受け取り、次のセグメントに分割します。
log.txt_segment1 ---> size 5GB
log.txt_segment2 ---> size 5GB
log.txt_segment3 ---> size 3GB
- Swift は、サイズが 0MB
log.txtの名前のオブジェクトを作成します。実際には、これは実際のオブジェクトではなく、単なるエイリアス名です。 container1
- 次に、Swift は
container1_segmentsの実際のオブジェクト (セグメント化されたオブジェクト) を格納する名前の別のコンテナーを作成しますcontainer1。
- 次に、Swift は log.txt のセグメントを にアップロードし
container1_segmentsます。
それで、私たちは今何を持っていますか?
- 2 つのコンテナーがあります[ container1、container1_segments]
- 4 つのオブジェクトがあります[ log.txt、log.txt_segment1、] log.txt_segment2log.txt_segment3
理論的に
は、1 つのコンテナと 1 つのオブジェクトが必要ですが、代わりに2 つのコンテナと 4 つのオブジェクトがあります。これにより、Swift のオブジェクト数の不一致が発生する可能性があります。