我想對存盤在 s3 存盤桶中的大檔案使用 aws cli 的一些命令,而不將檔案復制到本地目錄(我熟悉 aws cp命令,這不是我想要的)。
例如,假設我想使用簡單的 bash 命令,如“head”或“more”。如果我嘗試像這樣使用它:
head s3://bucketname/file.txt
但后來我得到:
頭:無法打開's3://bucketname/file.txt'進行閱讀:沒有這樣的檔案或目錄 我還能怎么做?
我還能怎么做?
提前致謝。
uj5u.com熱心網友回復:
命令是否能夠通過 s3 存盤桶訪問檔案完全取決于命令。在引擎蓋下,每個命令都只是一個程式。當你運行類似的東西head filename時,引數filename作為引數傳遞給 head 命令的 main() 函式。你可以在這里查看源代碼:https ://github.com/coreutils/coreutils/blob/master/src/head.c
本質上,由于 head 命令不支持 S3 URI,因此您不能這樣做。您可以:
- 將 s3 檔案復制到標準輸出,然后將其通過管道傳輸到 head:
aws s3 cp fileanme - | head。如果檔案對于管道緩沖區來說太大,這似乎不太可能。 - 使用 s3curl 復制一系列位元組:如何使用 cli 訪問 s3 存盤桶中的檔案以獲取其他命令
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/493369.html
