![](/img/trans.png)
[英]Not able to get_metadata for AWS S3 object using Python Boto-2.48
[英]get file metadata from S3 using Python boto
我在AWS S3
有一些二進制文件,我需要使用 Python Boto API 獲取file metadata
如created time
、 modified time
和訪問時間?
我們嘗試的是將文件復制到 EC2 實例,從那里我們使用os
模塊stat
方法來獲取時間。 我希望當我們將文件復制到 EC2 實例時,這些細節會有所改變。
我嘗試過的示例代碼:
stat = os.stat(inputFile)
createdTime = datetime.fromtimestamp(stat[9]).strftime("%A, %B %d, %Y %I:%M:%S")
如何直接從 S3 獲取這些詳細信息?
Boto3 有一個函數S3.Client.head_object :
HEAD 操作從對象中檢索元數據,而不返回對象本身。 如果您只對對象的元數據感興趣,則此操作很有用。
單步執行存儲桶中的文件並請求元數據的示例代碼:
#! /usr/bin/python3
import boto3
s3client = boto3.client('s3')
paginator = s3client.get_paginator('list_objects_v2')
page_iterator = paginator.paginate(Bucket='MyBucketName')
for bucket in page_iterator:
for file in bucket['Contents']:
print(file['Key'])
try:
metadata = s3client.head_object(Bucket='MyBucketName', Key=file['Key'])
print(metadata)
except:
print("Failed {}".format(file['Key']))
使用 boto3 而不是 boto。 您可以查看https://boto3.readthedocs.io/en/latest/reference/services/s3.html以了解有關 boto3 的 s3 api 的任何信息。 可用的過濾器不多,請檢查那里是否有您需要的過濾器。 檢查此以從https://boto3.readthedocs.io/en/latest/reference/services/s3.html#S3.Client.list_objects_v2開始
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.