我正在从GCP云存储到Bigquery获取Avro格式的最新数据。我遇到了这个展示如何做到这一点的资源。问题
您可以使用此命令对文件进行排序以从存储桶中获取最新GCS文件,您可以根据要求更改条件。
gsutil ls -l gs://[bucket-name]/ | sort -k 2 | tail -n 2
要特别从GCSBucket中获取最新的. avro
文件,可以考虑以下代码:
from google.cloud import storage
import re
storage_client = storage.Client()
bucket = storage_client.get_bucket('bucket-name')
files = bucket.list_blobs()
fileList = [file.name for file in files if '.avro' in file.name]
latestFile = fileList[0]
latestTimeStamp = bucket.get_blob(fileList[0]).updated
for i in range(len(fileList)):
timeStamp = bucket.get_blob(fileList[i]).updated
if timeStamp > latestTimeStamp:
latestFile = fileList[i]
latestTimeStamp = timeStamp
print(latestFile)
要了解有关对象元数据的更多信息,您可以参考本文档。