

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon S3 事件通知接收複寫失敗事件
<a name="replication-metrics-events"></a>

如果已在複寫組態上啟用 S3 複寫指標，您可以設定 Amazon S3 事件通知，以在物件未複寫至目的地 AWS 區域時通知您。如果已在複寫組態上啟用 S3 複寫時間控制 (S3 RTC)，則當系統未在複寫的 15 分鐘 S3 RTC 閾值內複寫物件時，您也會收到通知。

透過使用下列 `Replication` 事件類型，您可以追蹤擱置的位元組、擱置的作業和複寫延遲來監控複寫事件的每分鐘進度。如需有關 S3 複寫指標的詳細資訊，請參閱[使用 S3 複寫指標](repl-metrics.md)。
+ `s3:Replication:OperationFailedReplication` 事件類型會在有資格複寫的物件無法複寫時通知您。
+ 當有資格使用 S3 RTC 進行複寫的物件超過複寫的 15 分鐘閾值時，`s3:Replication:OperationMissedThreshold` 事件類型會通知您。
+ 當有資格使用 S3 RTC 進行複寫的物件，在 15 分鐘閾值之後複寫時，`s3:Replication:OperationReplicatedAfterThreshold` 事件類型會通知您。
+ 當有資格進行即時複寫的物件 (相同區域複寫 [SRR] 或跨區域複寫 [CRR]) 不再受到複寫指標追蹤時，`s3:Replication:OperationNotTracked` 事件類型會通知您。

如需所有支援複寫事件類型的完整描述，請參閱[SQS、SNS 和 Lambda 支援的事件類型](notification-how-to-event-types-and-destinations.md#supported-notification-event-types)。

如需 S3 事件通知擷取的失敗代碼清單，請參閱[Amazon S3 複寫失敗原因](#replication-failure-codes)。

您可以使用 Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notiﬁcation Service (Amazon SNS) 或 AWS Lambda接收 S3 事件通知。如需詳細資訊，請參閱[Amazon S3 事件通知](EventNotifications.md)。

如需如何設定 Amazon S3 事件通知的指示，請參閱[啟用事件通知](how-to-enable-disable-notification-intro.md)。

**注意**  
除了啟用事件通知之外，請確定您同時啟用 S3 複寫指標。如需詳細資訊，請參閱[啟用 S3 複寫指標](repl-metrics.md#enabling-replication-metrics)。

以下是 Amazon S3 傳送以發佈 `s3:Replication:OperationFailedReplication` 事件的訊息範例。如需詳細資訊，請參閱[事件訊息結構](notification-content-structure.md)。

```
{
  "Records": [
    {
      "eventVersion": "2.2",
      "eventSource": "aws:s3",
      "awsRegion": "us-east-1",
      "eventTime": "2024-09-05T21:04:32.527Z",
      "eventName": "Replication:OperationFailedReplication",
      "userIdentity": {
        "principalId": "s3.amazonaws.com"
      },
      "requestParameters": {
        "sourceIPAddress": "s3.amazonaws.com"
      },
      "responseElements": {
        "x-amz-request-id": "123bf045-2b4b-4ca8-a211-c34a63c59426",
        "x-amz-id-2": "12VAWNDIHnwJsRhTccqQTeAPoXQmRt22KkewMV8G3XZihAuf9CLDdmkApgZzudaIe2KlLfDqGS0="
      },
      "s3": {
        "s3SchemaVersion": "1.0",
        "configurationId": "ReplicationEventName",
        "bucket": {
          "name": "amzn-s3-demo-bucket1",
          "ownerIdentity": {
            "principalId": "111122223333"
          },
          "arn": "arn:aws:s3:::amzn-s3-demo-bucket1"
        },
        "object": {
          "key": "replication-object-put-test.png",
          "size": 520080,
          "eTag": "e12345ca7e88a38428305d3ff7fcb99f",
          "versionId": "abcdeH0Xp66ep__QDjR76LK7Gc9X4wKO",
          "sequencer": "0066DA1CBF104C0D51"
        }
      },
      "replicationEventData": {
        "replicationRuleId": "notification-test-replication-rule",
        "destinationBucket": "arn:aws:s3:::amzn-s3-demo-bucket2",
        "s3Operation": "OBJECT_PUT",
        "requestTime": "2024-09-05T21:03:59.168Z",
        "failureReason": "AssumeRoleNotPermitted"
      }
    }
  ]
}
```

## Amazon S3 複寫失敗原因
<a name="replication-failure-codes"></a>

下表列出 Amazon S3 複寫失敗原因。您可以透過 Amazon S3 事件通知接收 `s3:Replication:OperationFailedReplication` 事件並查看 `failureReason` 值，以檢視這些原因。

您也可以在 S3 批次複寫完成報告中檢視這些失敗原因。如需詳細資訊，請參閱[批次複寫完成報告](s3-batch-replication-batch.md#batch-replication-completion-report)。


| 複寫失敗原因 | Description | 
| --- | --- | 
| `AssumeRoleNotPermitted` | Amazon S3 無法擔任複寫組態或批次操作任務中指定的 AWS Identity and Access Management (IAM) 角色。 | 
| `DstBucketInvalidRegion` | 目的地儲存貯體與批次操作任務 AWS 區域 指定的儲存貯體不同。此錯誤僅是批次複寫特有的。 | 
| `DstBucketNotFound` | Amazon S3 找不到複寫組態中指定的目的地儲存貯體。 | 
| `DstBucketObjectLockConfigMissing` | 若要從啟用物件鎖定的來源儲存貯體複寫物件，目的地儲存貯體亦須啟用物件鎖定。此錯誤指出目的地儲存貯體中可能未啟用物件鎖定。如需詳細資訊，請參閱[物件鎖定的考量事項](object-lock-managing.md)。 | 
| `DstBucketUnversioned` | S3 目的地儲存貯體未啟用版本控制。在目的地儲存貯體上啟用版本控制，以使用 S3 複寫來複寫物件。 | 
| `DstDelObjNotPermitted` | Amazon S3 無法將刪除標記複寫到目的地儲存貯體。可能缺少目的地儲存貯體的 `s3:ReplicateDelete` 許可。 | 
| `DstKmsKeyInvalidState` | 目的地儲存貯體的 AWS Key Management Service (AWS KMS) 金鑰未處於有效狀態。檢閱並啟用所需的 AWS KMS 金鑰。如需管理 AWS KMS 金鑰的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[AWS KMS 金鑰的金鑰狀態](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)。 | 
| `DstKmsKeyNotFound` | 在複寫組態中為目的地儲存貯體設定的 AWS KMS 金鑰不存在。 | 
| `DstMultipartCompleteNotPermitted` | Amazon S3 無法完成目標儲存貯體中物件的分段上傳。可能缺少目的地儲存貯體的 `s3:ReplicateObject` 許可。 | 
| `DstMultipartInitNotPermitted` | Amazon S3 無法對目的地儲存貯體啟動物件的分段上傳。可能缺少目的地儲存貯體的 `s3:ReplicateObject` 許可。 | 
| `DstMultipartUploadNotPermitted` | Amazon S3 無法將分段上傳物件上傳至目的地儲存貯體。可能缺少目的地儲存貯體的 `s3:ReplicateObject` 許可。 | 
| `DstObjectHardDeleted` | 刪除的物件若具有來自目的地儲存貯體之物件的版本 ID，S3 批次複寫不支援重新複寫這些物件。此錯誤僅是批次複寫特有的。 | 
| `DstPutAclNotPermitted` | Amazon S3 無法將物件存取控制清單 (ACL) 複寫到目的地儲存貯體。可能缺少目的地儲存貯體的 `s3:ReplicateObject` 許可。 | 
| `DstPutLegalHoldNotPermitted` | 在複寫不可變物件時，Amazon S3 無法對目的地物件放置物件鎖定合法保留。可能缺少目的地儲存貯體的 `s3:PutObjectLegalHold` 許可。如需詳細資訊，請參閱[法務保存](object-lock.md#object-lock-legal-holds)。 | 
|  `DstPutObjectNotPermitted` | Amazon S3 無法將物件複寫到目的地儲存貯體。當目的地儲存貯體缺少必要的許可 (`s3:ReplicateObject` 或 `s3:ObjectOwnerOverrideToBucketOwner`許可），或 AWS KMS 金鑰政策不允許來源儲存貯體的複寫角色在目的地儲存貯體使用 AWS KMS 金鑰 (`kms:Decrypt` 和 `kms:GenerateDataKey*`動作） 時，就會發生這種情況。 | 
|  `DstPutRetentionNotPermitted` | 在複寫不可變物件時，Amazon S3 無法對目的地物件放置保留期。可能缺少目的地儲存貯體的 `s3:PutObjectRetention` 許可。 | 
| `DstPutTaggingNotPermitted` | Amazon S3 無法將物件標籤複寫到目的地儲存貯體。可能缺少目的地儲存貯體的 `s3:ReplicateObject` 許可。 | 
| `DstVersionNotFound ` | Amazon S3 無法在需要複寫中繼資料的目的地儲存貯體中找到所需的物件版本。 | 
| `InitiateReplicationNotPermitted` | Amazon S3 無法啟動物件上的複寫。可能缺少批次操作任務的 `s3:InitiateReplication` 許可。此錯誤僅是批次複寫特有的。 | 
| `SrcBucketInvalidRegion` | 來源儲存貯體與批次操作任務 AWS 區域 指定的不同。此錯誤僅是批次複寫特有的。 | 
| `SrcBucketNotFound` | Amazon S3 無法找到來源儲存貯體。 | 
| `SrcBucketReplicationConfigMissing` | Amazon S3 找不到來源儲存貯體的複寫組態。 | 
| `SrcGetAclNotPermitted` |  Amazon S3 無法存取來源儲存貯體中的物件以進行複寫。可能缺少來源儲存貯體物件的 `s3:GetObjectVersionAcl` 許可。 來源儲存貯體中的物件必須為儲存貯體擁有者所擁有。如果已啟用 ACL，請確認「物件擁有權」設定為「偏好的儲存貯體擁有者」或「物件寫入器」。如果將「物件擁有權」設定為「偏好的儲存貯體擁有者」，則來源儲存貯體物件必須有 `bucket-owner-full-control` ACL，儲存貯體擁有者才能成為物件擁有者。透過將「物件擁有權」設定為「儲存貯體擁有者強制執行」並停用 ACL，來源帳戶就能取得其儲存貯體中所有物件的擁有權。  | 
| `SrcGetLegalHoldNotPermitted` | Amazon S3 無法存取 S3 物件鎖定法務保存資訊。 | 
| `SrcGetObjectNotPermitted` | Amazon S3 無法存取來源儲存貯體中的物件以進行複寫。可能缺少來源儲存貯體的 `s3:GetObjectVersionForReplication` 許可。 | 
| `SrcGetRetentionNotPermitted` | Amazon S3 無法存取 S3 物件鎖定保留期間資訊。 | 
| `SrcGetTaggingNotPermitted` | Amazon S3 無法從來源儲存貯體存取物件標籤資訊。可能缺少來源儲存貯體的 `s3:GetObjectVersionTagging` 許可。 | 
| `SrcHeadObjectNotPermitted` | Amazon S3 無法從來源儲存貯體擷取物件中繼資料。可能缺少來源儲存貯體的 `s3:GetObjectVersionForReplication` 許可。 | 
| `SrcKeyNotFound` | Amazon S3 找不到要複寫的來源物件金鑰。來源物件可能已在複寫完成之前遭到刪除。 | 
| `SrcKmsKeyInvalidState` | 來源儲存貯體的 AWS KMS 金鑰未處於有效狀態。檢閱並啟用所需的 AWS KMS 金鑰。如需管理 AWS KMS 金鑰的詳細資訊，請參閱《 *AWS Key Management Service 開發人員指南*》中的[AWS KMS 金鑰的金鑰狀態](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html)。 | 
| `SrcObjectNotEligible` | 有些物件不符合複寫資格。這可能是因為物件的儲存類別或物件標籤與複寫組態不相符。 | 
| `SrcObjectNotFound` | 來源物件不存在。 | 
| `SrcReplicationNotPending` | Amazon S3 已複寫此物件。此物件不再處於待複寫狀態。 | 
| `SrcVersionNotFound` | Amazon S3 找不到要複寫的來源物件版本。來源物件版本可能已在複寫完成之前遭到刪除。 | 

### 相關主題
<a name="replication-metrics-related-topics"></a>

[設定即時複寫的許可](setting-repl-config-perm-overview.md)

[故障排除複寫](replication-troubleshoot.md)