我在S3對象中存儲自定義元數據(我在meta x-amz-metadata-description中存儲了對該文件的描述)。檢索S3對象元數據(NodeJS API)的最新方法
我想用S3對象屬性(包括元數據)檢索文件列表。
我認爲s3.listObjectsV2
可以幫助我,但似乎這種方法無法檢索元數據(參見官方文檔here)
我看到了,我可以檢索getObjects那些medata,但它會增加很多數量的呼叫和請求的延遲。
您是否有任何想法批量檢索對象列表的元數據?
謝謝, 羅曼。
我在S3對象中存儲自定義元數據(我在meta x-amz-metadata-description中存儲了對該文件的描述)。檢索S3對象元數據(NodeJS API)的最新方法
我想用S3對象屬性(包括元數據)檢索文件列表。
我認爲s3.listObjectsV2
可以幫助我,但似乎這種方法無法檢索元數據(參見官方文檔here)
我看到了,我可以檢索getObjects那些medata,但它會增加很多數量的呼叫和請求的延遲。
您是否有任何想法批量檢索對象列表的元數據?
謝謝, 羅曼。
你需要aws s3api head-object
這不正是你想要
什麼HEAD操作從對象檢索元數據,而無需返回對象本身。如果您只對對象的元數據感興趣,此操作很有用。要使用HEAD,您必須具有對該對象的讀取權限。
aws s3api head-object --bucket <mybucket> --key <value>
也正是在的NodeJS API可用,見http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html#headObject-property
的方法是每個鍵調用一次,如果你需要爲你叫需要cupple與其他方法的多個項目,可以說,作爲一個例子,你需要從你的水桶所有的CSV文件中的所有元數據,你會運行
aws s3 ls --recursive <mybucket> \
| grep ".csv$" | cut -c 32- \
| xargs -I {} aws s3api head-object --bucket <mybucket> --key {}
命令列表從桶中的所有文件,你只用grep特定擴展,ST的第一部分撕掉字符,以便只獲取密鑰,並將此密鑰作爲頭對象命令的參數
嗨!謝謝。是否可以在批量模式下使用此方法?如果答案是否定的,我將不得不進行很多電話。 –
嗨,不,你不能批量調用,它適用於給定的鍵(這是有道理的),如果你需要批量調用,你首先需要選擇你想要執行調用的所有元素 - 舉一個例子 –