在OSS中上传文件,并返回URL链接
import boto3
from datetime import timedelta
#文件名称
FILE_PIC_NAME = ""
FILE_URL_NAME = ""
BUCKET_NAME = ""
#os配置
ACCESS_KEY = ''
SECRET_KEY = ''
boto3_client = boto3.client(
's3',
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
# 下面给出一个endpoint_url的例子
endpoint_url=''
)
#将数据传到上传到os中
resp = boto3_client.put_object(Bucket=BUCKET_NAME,
Key=FILE_PIC_NAME, Body=open(FILE_PIC_NAME, 'rb').read(), StorageClass='STANDARD')
# 设置URL的有效时间为1小时
expiration = timedelta(hours=24*365)
#获取文件RUL地址
FILE_URL_NAME = boto3_client.generate_presigned_url(
ClientMethod='get_object',
Params={
'Bucket': BUCKET_NAME,
'Key': FILE_PIC_NAME
},
ExpiresIn=expiration.total_seconds()
)
#将文件链接放到HDFS上
print("FILE_URL_NAME:", FILE_URL_NAME)