上传amazon s3 python后获取文件url,boto3

2024-05-06 03:02:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是一个新的boto3,我不明白如何才能获得我刚刚上传到s3amazon的文件的URL链接。在

请澄清。在

谢谢你

import boto3

s3 = boto3.resource('s3')

data = open ('file.xlsx', 'rb')
s3.Bucket ('dimxxx1').put_object (Key='file.xlsx', Body=data)

Tags: 文件importurldatas3bucket链接open
2条回答

首先,最好的上传方式是:

import boto3
s3 = boto3.resource('s3')
s3.Bucket('dimxxx1').upload_file('/tmp/file.xlsx', 'file.xlsx')

要获取URL,可以从基本元素构造它:

^{pr2}$

例如:

http://s3-ap-southeast-2.amazonaws.com/dimxxx1/file.xlsx

这里有一个解决此问题的方法,可以让您获得这个link建议的S3文件的URL。基本上,您必须为希望提供访问权限的每个S3对象生成一个预签名的URL。参见以下代码:

import boto3

# Get the service client.
s3 = boto3.client('s3')

# Generate the URL to get 'key-name' from 'bucket-name'
url = s3.generate_presigned_url(
    ClientMethod='get_object',
    Params={
        'Bucket': '<bucket-name>',
        'Key': '<key-name>'
    }
)

将和更改为您的S3 bucket和上载的文件名。在

相关问题 更多 >