我對 AWS 比較陌生,s3我正在呼叫 API 將 JSON 資料直接加載到s3存盤桶中。從s3桶資料將被讀取Snowflake。經過研究我發現使用Boto3我們可以s3直接加載資料。代碼如下所示,但我不確定的一件事是我應該為密鑰添加什么,因為我的S3存盤桶中沒有創建任何物件。另外,將 JSON 資料加載到的最佳做法是s3什么?我是否需要像SO 用戶 Uwe Bretschneider在此處將 JSON 資料編碼為“UTF-8”。
提前致謝!
Python代碼:
import json,urllib.request
import boto3
data = urllib.request.urlopen("https://api.github.com/users?since=100").read()
output = json.loads(data)
print (output) #Checking the data
s3 = boto3.client('s3')
s3.put_object(
Body=str(json.dumps(data))
Bucket='I_HAVE_BUCKET_NAME'
Key='your_key_here'
)
uj5u.com熱心網友回復:
通過使用put_object,這意味著您正在存盤桶中創建一個新物件,因此不存在現有密鑰。這個鍵就像檔案系統中的一個檔案名。您可以指定任何您喜歡的名稱,例如my-data.json或some-dir/my-data.json。您可以在https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html中找到更多資訊。
至于編碼器,指定編碼 IMO 總是好的,只是為了確保您的源檔案也已正確編碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/479301.html
標籤:json python-3.x 亚马逊网络服务 亚马逊-s3 博托3
