Azure Function (Python) 由文件上传到 Azure 存储触发。该功能适用于高达 ~120MB 的文件。我刚刚使用 2GB 文件进行负载测试,该函数产生了错误Stream was too long.
- 此限制记录在哪里?
- 我将如何使用Python克服它?
Using boto3
将文件 PUT 到 AWS S3 的库
def main(myblob: func.InputStream):
logging.info(f"Python blob trigger function processed blob \n"
f"Name: {myblob.name}\n"
f"Blob Size: {myblob.length} bytes")
myblobBytes = myblob.read()
fileName = pathlib.Path(myblob.name).name
s3 = boto3.resource(
's3',
aws_access_key_id="youguessedit",
aws_secret_access_key="noyoudidnt",
)
response=s3.Bucket(bucketName).put_object(Key="folder/" + fileName,
Body=myblobBytes, ContentMD5=md5Checksum)
response.wait_until_exists()
Changed boto3
from put_object
to upload_fileobj
和设置TransferConfig
for multipart_threshold=1024*25, max_concurrency=10, multipart_chunksize=1024*25, use_threads=True
.
现在撕裂!
89秒即可传输2GB!不错。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)