首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从冰川恢复后的SNS通知

从冰川恢复后的SNS通知
EN

Stack Overflow用户
提问于 2017-02-22 22:02:42
回答 2查看 711关注 0票数 1

我有一个具有存储桶策略的s3存储桶,可以在创建x天后将它们的对象发送到冰川。通过将对象移动到冰川storage.When,它工作得很好。稍后我将使用aws php sdk 3.x api检索这些对象。

代码语言:javascript
运行
复制
$result = $client->restoreObject([
'Bucket' => '<string>', // REQUIRED
'Key' => '<string>', // REQUIRED
'RequestPayer' => 'requester',
'RestoreRequest' => [
    'Days' => <integer>, // REQUIRED
    'GlacierJobParameters' => [
        'Tier' => 'Standard|Bulk|Expedited', // REQUIRED
    ],
],
'VersionId' => '<string>', ])

通常情况下,恢复对象可能需要3-5个小时。所以我需要得到一个sns的通知。因为我没有使用vault,所以在恢复对象后,我没有收到任何通知。如何在恢复完成后收到sns通知。

EN

回答 2

Stack Overflow用户

发布于 2019-02-24 09:55:07

S3事件通知现在支持s3:ObjectRestore:Completed。请参阅AWS documentation中的详细信息。您可以将SNS配置为在冰川恢复完成时向您发送通知。

票数 1
EN

Stack Overflow用户

发布于 2017-03-16 21:21:24

对于需要使用head对象api进行轮询的恢复完成,我们将不会获得sns

代码语言:javascript
运行
复制
 $result = $s3Client->headObject(array(
        'Bucket' => $sourceBucket,
        'Key' => "{$archiveKey}/{$sourceKeyname}",
    ));

并比较头对象请求结果

代码语言:javascript
运行
复制
 if (isset($res['ongoing-request']) && (strcmp($res['ongoing-request'], '"false"') == 0) && ($result['StorageClass'] == 'GLACIER')) {
      $this->log('Survey data id  ' . $surveyData['survey_data_id'] . ' in restored state', LogLevel::INFO);}

如果条件为真,我们可以引发动作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42393668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档