![](/img/trans.png)
[英]How to copy files from S3 bucket to S3 bucket in PHP (AWS SDK for PHP)?
[英]How to fetch files from S3 bucket, which are moved from S3 bucket to Glacier?
我将文件存储在AWS S3存储桶中,并且我们设置了选项,可以在特定时间段(例如6个月)之后通过AWS控制台将文件从S3存储桶移动到Glacier。
文件已成功从S3移至Glacier。
现在,我想检索在Glacier上移动的文件。 但是我找不到任何可行的方法来做到这一点。
我已经尝试过参考AWS Glacier的文档,但是没有运气。
注意:我们正在尝试通过PHP SDK或任何其他使用PHP的方法来执行此操作。
根据文档所述:
无法立即访问Amazon Glacier存储类中的对象:您必须先将对象的临时副本还原到其存储桶中,然后才可用。
您需要对已归档的(S3-Glacier)对象启动还原操作,这可能需要几个小时 (通常是三到五个小时)才能还原为临时对象。 如果您希望它们永久存在于S3存储桶中,则可以在还原完成后在S3存储桶中创建一个副本。
要启动还原作业,可以使用:
要确定以编程方式完成还原作业的时间,您可以:
还原作业完成后,您可以在作业中设置的特定期间内在S3存储桶中检索对象。
如果您使用的是PHP SDK,则可以使用
$objects = $s3Client->restoreObject(array(
'Bucket' => 'Bucket name'
,"Key" => 'File Key which is file bath in S3 bucket'
//,'RequestPayer' => 'requester',
,'RestoreRequest' => [
'Days' => 10,
'GlacierJobParameters' => [
//'Tier' => 'Standard|Bulk|Expedited', // REQUIRED
'Tier' => Expedited, // REQUIRED
]
],
));
这是此的通用模板
$result = $client->restoreObject([
'Bucket' => '<string>', // REQUIRED
'Key' => '<string>', // REQUIRED
'RequestPayer' => 'requester',
'RestoreRequest' => [
'Days' => <integer>, // REQUIRED
'GlacierJobParameters' => [
'Tier' => 'Standard|Bulk|Expedited', // REQUIRED
],
],
'VersionId' => '<string>',
]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.