- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用以下代码将文件放入 S3 存储中。我发现它非常慢。秒表指示 18 秒+。有什么建议或其他经验吗?
// upload the file to S3
AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretAccessKey);
PutObjectRequest request = new PutObjectRequest();
FileStream fs = new FileStream(sourceFileName, FileMode.Open);
request.WithInputStream(fs);
request.WithBucketName(bucketName);
request.WithKey(keyName);
Stopwatch stp1 = new Stopwatch();
stp1.Start();
client.PutObject(request);
stp1.Stop();
fs.Close();
此代码是 C#。我正在使用亚马逊 .net SDK。
文件只有56K大小,我的上传带宽是1.87Mbps。
最佳答案
这听起来和我最近遇到的一个问题非常相似,这是由 Windows 上“Internet 选项”中的自动代理检测设置引起的。
Amazon SDK 使用 WebRequest
发出 HTTP 请求,默认情况下 WebRequest
遵循计算机的“Internet 选项”设置来检测本地代理。幸运的是 WebRequest
有一个静态属性 WebRequest.DefaultWebProxy
,当设置为 null
时,它会删除自动代理检测。
您需要做的就是在开始使用 AmazonS3
之前将其设置为 null
:
WebRequest.DefaultWebProxy = null; // here
AmazonS3 client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretAccessKey);
[...]
值得注意的是,这个静态属性只需要为每个应用程序域设置一次,而不是每次你想创建一个 AmazonS3
对象时。
替代方法:
如果您不介意重新配置机器,请访问:
Windows Control Panel > Internet Options > Connections > Lan Settings
并取消选中“自动检测设置”。如果您使用这种方法,则根本不需要设置 DefaultWebProxy
属性。
更多信息:
当我遇到这个问题时,我在 SO 上提出了以下问题:
How to turn off the automatic proxy detection in the `AmazonS3` object?
如果您有兴趣,它比我在这里的回答更详细。
关于c# - Amazon S3 PutObject 非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6808411/
我面临着一个关于 S3 存储桶策略的谜团,它阻止我的 Php S3Client 来自 PutObject。我得到的错误是: Error executing "PutObject" on "https:
我对我的 s3 用户登录拥有完全权限: { "Statement": [ { "Effect": "Allow", "Action": "s3:*",
我想在将图像上传到 S3 后获取文件的链接(或文件名也可以)。我使用以下代码上传并且有效。 s3Bucket.putObject(data, function(err, data){
我按照 http://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_examples.html#iam-policy-example
我编写了以下代码来将文件上传到亚马逊 s3。 var upload = async function() { var uploadURLs = [] for (var i = 0; i {
我在尝试将图像文件放入 S3 时遇到一些问题, exception = "com.amazonaws.SdkClientException"; message = "Unable to ca
我正在像这样将表单直接上传到 aws s3: for (var i = 0; i < imgUploadList.length; i++) { var params = {
当我尝试使用 aws java sdk 将文件上传到 s3 时,收到有关 InvalidRedirectLocation 的错误。 Exception in thread "main" com.ama
下面的代码在本地工作并将文件从目录上传到 S3。它使用 Boto3 和 Python 3。 s3 = boto3.resource('s3', aws_access_key_id=AWS_ACCESS
我们正在使用适用于 Java 的 AWS SDK S3 版本 2.4.2。当我们尝试使用单个连接为多个文件放置对象 (s3.putObject(PutObjectRequest.builder().b
我已经建立了一个 AWS 账户。并且正在尝试将我的第一个程序化 PUT 放入 S3。我已经使用控制台创建了一个桶并将东西放在那里。我还创建了一个子目录 (myFolder) 并将其公开。我创建了 .a
尝试使用 putObject() 函数将 CSV 文件上传到我的 S3 存储桶时,如果文件大于大约 1 MB,它将超时。我能够成功上传的最大 CSV 文件是 1048 KB(25500 行),我尝试上
在保存到 Amazon S3 时大约有一次\每周文件上传失败 (1\300)。以下代码运行良好,足以确认文件已正确保存,但我忍不住认为还有更好的方法。当文件确实失败时,不会抛出任何异常,所以我永远无法
我正在使用以下代码将文件放入 S3 存储中。我发现它非常慢。秒表指示 18 秒+。有什么建议或其他经验吗? // upload the file to S3 Amazo
我正在尝试将图像上传到 S3,但是当我调用 s3.putObject(params, callback) 时,我的回调永远不会被调用,也不会记录任何错误。 以下是相关代码: var params =
我的目标是允许一个用户将对象放入 s3 存储桶中。我想过应用存储桶策略。我知道您不能拒绝所有用户的 PutObjects,然后通过对所需用户的允许来覆盖它。我曾希望使用条件“ArnNotEquals”
我正在使用独立的 PHP-S3 类: http://undesigned.org.za/2007/10/22/amazon-s3-php-class 我已经尝试了所有现成的教程,下载了源码,更改了相应
你知道方法吗 - public PutObjectResult putObject(PutObjectRequest putObjectRequest) 在 AmazonS3Client 中阻塞? 最
我需要在使用 putObject() 时模拟 AWS S3。 调用该函数时,我需要创建具有用户元数据值的文件。我试图在网上找到一些代码示例,但我只找到了这个基本代码: var AWSMock = re
使用适用于 Javascript 的 aws-sdk 我遇到了一个奇怪的问题,即在将文本放入对象后,特殊字符没有被翻译 这是我的代码: var AWS = require('aws-sdk'); AW
我是一名优秀的程序员,十分优秀!