目前為止,以下代碼滿足了我的需要,但我覺得有更好的“批處理”方法可以實現(xiàn)。serv := s3.New(session.New(s3h.Config))for _, i1 := range []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f"} {? ? for _, i2 := range []string{"1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f"} {? ? ? ? req := &s3.PutObjectInput{? ? ? ? ? ? Bucket: aws.String(S3_BUCKET),? ? ? ? ? ? Key:? ? aws.String(i1 + i2 + "/"),? ? ? ? }? ? ? ? serv.PutObject(req)? ? }}有什么指點(diǎn)嗎?
1 回答

Cats萌萌
TA貢獻(xiàn)1805條經(jīng)驗 獲得超9個贊
S3 中沒有“文件夾”這樣的東西。從簡單的高層來看,S3 是一個大型鍵/值存儲。列表操作支持查找以某個前綴開頭并且可以在已知分隔符(例如/
)處停止的鍵子集,使其看起來像具有類似文件系統(tǒng)的語義。
只需將一個對象放入/a/b/c/d
看起來像是創(chuàng)建了文件夾的對象a
,b
但c
它只是用該鍵創(chuàng)建了一個對象??刂婆_中使用的列表操作以 at/
作為分隔符,因此它提供了類似文件夾的視圖。
您無法將多個 S3 對象放入單個操作中。每一項都必須作為單獨(dú)的操作上傳。使用 Go,我建議您可以有一個通道,放置所需的所有上傳內(nèi)容,并讓多個并發(fā)工作人員處理這些內(nèi)容以提高性能。您需要進(jìn)行一些調(diào)整才能找到最佳數(shù)量。如果還沒有一個用于此目的的庫,我不會感到驚訝,因為這將是一個非常常見的 S3 用例。
- 1 回答
- 0 關(guān)注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消