使用php设置s3的加速端点
我正在使用使用php设置s3的加速端点,php,amazon-s3,Php,Amazon S3,我正在使用 getObjectUrl 获取我的webapp的s3可下载url。 我为整个桶启用了加速传输,但无论我如何配置它,我都看不到任何实际的速度差异 $bucket = 'bucketname'; $file = $_POST['file']; $client = new Aws\S3\S3Client([ 'version' => 'latest', 'region' => 'eu-central-1', 'credentials' => a
getObjectUrl
获取我的webapp的s3可下载url。
我为整个桶启用了加速传输,但无论我如何配置它,我都看不到任何实际的速度差异
$bucket = 'bucketname';
$file = $_POST['file'];
$client = new Aws\S3\S3Client([
'version' => 'latest',
'region' => 'eu-central-1',
'credentials' => array(
'key' => $s3key,
'secret' => $s3secret,
'endpoint' => 'http://bucketname.s3-accelerate.amazonaws.com',
'use_accelerate_endpoint'=>true,
)
]);
我从中得到回报的url
$plainUrl = $client->getObjectUrl($bucket, $file);
这是:https://bucketname.s3.eu-central-1.amazonaws.com/filename.ext
这是正确的吗?plainurl不应该返回某种加速参数吗?
我的问题是:我做得对吗 根据s3文档 通过将“@use\u accelerate\u endpoint”设置为true或false,可以启用或禁用单个操作。注意:在通过加速端点访问存储桶之前,必须在存储桶上启用S3加速 我使用s3 php获得了一个签名URL请求:
$cmd = $client->getCommand('GetObject', [
'Bucket' => $config['bucket'],
'Key' => $key,
'ResponseContentDisposition' => 'attachment; filename=' . $download_filename,
'@use_accelerate_endpoint' => true,
]);
$request = $client->createPresignedRequest($cmd, '+180 minutes');
我用默认的最小参数初始化了s3客户机
$client = new S3Client($client_config);
根据s3文档 通过将“@use\u accelerate\u endpoint”设置为true或false,可以启用或禁用单个操作。注意:在通过加速端点访问存储桶之前,必须在存储桶上启用S3加速 我使用s3 php获得了一个签名URL请求:
$cmd = $client->getCommand('GetObject', [
'Bucket' => $config['bucket'],
'Key' => $key,
'ResponseContentDisposition' => 'attachment; filename=' . $download_filename,
'@use_accelerate_endpoint' => true,
]);
$request = $client->createPresignedRequest($cmd, '+180 minutes');
我用默认的最小参数初始化了s3客户机
$client = new S3Client($client_config);
您不需要通过
端点
。结果URL应该包含bucket name.s3 accelerate.amazonaws.com
,并且您的bucket名称中不能有任何点。您可以检查createPresignedRequest
是否返回带有加速端点的URL。好的,谢谢。使用加速端点是否正确?我发现了3种不同的实现方式。我将尝试一个预签名的请求,看看这是否有帮助。createpresignedrequest没有返回加速的终结点。您不需要通过终结点
。结果URL应该包含bucket name.s3 accelerate.amazonaws.com
,并且您的bucket名称中不能有任何点。您可以检查createPresignedRequest
是否返回带有加速端点的URL。好的,谢谢。使用加速端点是否正确?我发现了3种不同的实现方式。我将尝试一个预签名的请求,看看这是否有帮助。createpresignedrequest没有返回一个加速的端点。这是速度上的巨大差异!这就是速度上的差异!