簡體   English   中英

Boto3在將文件上傳到S3存儲桶時遇到問題

[英]Facing issue with boto3 in uploading file to s3 bucket

我編寫了一個簡單的腳本,在其中將文件上傳到s3存儲桶中。 我的代碼如下,非常簡單。

bucket = "my-bucket"
file_name = "/my-file-path/download.jpeg"
key_name = None
s3 = boto3.client("s3")

if key_name is None:
    key_name = file_name.split('/')[-1]
s3.upload_file(file_name, bucket, key_name)

因此,我想實現的目標是,如果任何人都不會傳遞密鑰名稱或密鑰名稱為None,那么filename就會成為密鑰名稱並上傳到s3存儲桶中。

如果我通過密鑰名,上面的代碼可以正常工作,但是當我在密鑰名中通過None時,它將無法工作,並且我調試了代碼,我發現了

-> key_name = file_name.split('/')[-1]
(Pdb) key_name
'download.jpeg'
(Pdb) next
--Call--
> /usr/lib/python3.6/threading.py(1279)_shutdown()
-> def _shutdown():
(Pdb) 
> /usr/lib/python3.6/threading.py(1285)_shutdown()
-> tlock = _main_thread._tstate_lock

最后,文件不會在s3上上傳。 如果有人對此有任何想法,請幫助。 您的幫助將不勝感激。

我將其放在函數和測試中。 例如:

def upload(file_name, bucket="my-bucket",key_name=None):
    if not key_name:
        key_name = file_name.split('/')[-1]
    s3 = boto3.client("s3")
    s3.upload_file(file_name, bucket, key_name)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM