

 AWS 合作伙伴中心 API 参考已重新构建。有关支持的 API 操作的更多信息，请参阅 [AWS 合作伙伴中心 API 参考](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 的通知AWS合作伙伴中心账户 API
<a name="account-api-events"></a>

Partner Account Connection 通知使合作伙伴能够随时了解直接影响其业务关系和运营工作流程的连接生命周期事件。这些事件对于合作伙伴来说至关重要：
+ 对新的协作迅速做出反应
+ 随时了解他们的连接组合状态
+ 建立或终止连接时采取适当的措施
+ 通过了解关系何时发生变化来确保业务连续性

**Topics**
+ [完成监控事件的先决条件](#events-prerequites)
+ [将 Amazon 配置 EventBridge 为监控事件](#eventbridge-setup)
+ [详细了解账号关联 API 事件](#learn-about-events)

## 完成监控事件的先决条件
<a name="events-prerequites"></a>

用户需要相应的 IAM 权限才能访问和管理账户连接 API 发布的事件。有关可用操作、资源和条件键的更多信息 EventBridge，请参阅亚马逊* EventBridge 用户指南*[中的在亚马逊 EventBridge中使用 IAM 策略条件](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-conditions.html#events-pattern-detail-type)。其中一个条件键是`events:detail-type`，它可用于将权限范围限定为特定事件类型。

以下示例策略演示了如何为建议的事件自定义权限并确定其权限范围。该`AllowPutRuleForPartnercentralAccountEvents`语句允许创建规则，但仅适用于来自`aws.partnercentral-account`源的事件。

有关详细的 IAM 策略示例，请参阅有关 EventBridge 权限的 AWS 文档。

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowPutRuleForPartnerCentralAccountEvents",
      "Effect": "Allow",
      "Action": "events:PutRule",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "events:source": "aws.partnercentral-account.connection"
        }
      }
    }
  ]
}
```

## 将 Amazon 配置 EventBridge 为监控事件
<a name="eventbridge-setup"></a>

要监控账户连接 API 事件，您需要创建一个与要捕获的事件相匹配的 EventBridge 规则。您可以使用AWS Management Console或 S AWS DK 来创建和管理规则。以下各节说明如何使用这两种方法创建规则。无论使用哪种方法，都必须在美国东部（弗吉尼亚北部）`us-east-1`地区创建规则。

### AWS Management Console设置
<a name="eventbridge-console-setup"></a>

要使用设置 EventBridge 规则AWS Management Console，请按照《亚马逊* EventBridge 用户指南*》中[创建响应亚马逊事件的规则 EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html)中的步骤进行操作。创建规则时，必须将事件总线设置为**默认值**，并在美国东部（弗吉尼亚北部）`us-east-1`区域创建规则。

以下是事件规则的示例：

```
{
    "source": ["aws.partnercentral-account"],
    "detail": {
        "catalog": ["AWS"]
    }
}
```

### AWS软件开发工具包设置
<a name="eventbridge-sdk-setup"></a>

您可以使用AWS软件开发工具包以编程方式创建和管理 EventBridge 规则。有关更多信息，请参阅 *Amazon EventBridge API 参考[PutRule](https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_PutRule.html)*中的。

以下示例使用适用于 Python 的AWS SDK (Boto3)：

```
import boto3

client = boto3.client('events', region_name='us-east-1')

response = client.put_rule(
    Name='MyConnectionInvitationReceivedRule',
    EventPattern=
    '{
        "source": ["aws.partnercentral-account"], 
        "detail-type": ["Partner Connection Invitation Received"], 
        "detail": {"catalog": ["AWS"]}
    }',
    State='ENABLED'
)
print('Rule ARN:', response['RuleArn'])
```

## 详细了解账号关联 API 事件
<a name="learn-about-events"></a>

以下各节描述了账号连接 API 事件类型、触发这些事件的场景以及事件示例。

### 事件类型
<a name="types-of-events"></a>

以下是事件类型及其触发器。
+ [已收到合作伙伴连接邀请](#connection-invitation-received)：通知接收者另一位合作伙伴想要建立连接
+ P@@ [artner Connection 邀请已接受](#connection-invitation-accepted)：通知发件人其邀请已被接受并且连接现已激活
+ [合作伙伴连接邀请被拒绝](#connection-invitation-rejected)：通知发件人其邀请已被拒绝
+ [合作伙伴连接已取消](#connection-cancelled)：当活动连接终止时，通知其他已连接的参与者
+ P@@ [artner Connection 邀请已取消](#connection-invitation-cancelled)：通知接收者在采取任何操作之前发件人已撤回邀请
+ P@@ [artner Connection 邀请已过期](#connection-invitation-expired)：通知发送者和接收者邀请已过期

### 示例事件
<a name="example-rules"></a>

以下各节提供了前面部分中列出的事件的示例。

**Topics**
+ [已收到合作伙伴连接邀请](#connection-invitation-received)
+ [合作伙伴连接邀请已接受](#connection-invitation-accepted)
+ [合作伙伴连接邀请被拒绝](#connection-invitation-rejected)
+ [合作伙伴连接已取消](#connection-cancelled)
+ [合作伙伴连接邀请已取消](#connection-invitation-cancelled)
+ [合作伙伴连接邀请已过期](#connection-invitation-expired)

#### 已收到合作伙伴连接邀请
<a name="connection-invitation-received"></a>

##### 触发上下文
<a name="connection-invitation-received-context"></a>

此事件是在成功创建连接邀请并通过 CreateConnectionInvitation API 保存在PAC的数据存储中时生成的。该事件在成功创建邀请后立即发送，并保留在 PAC 的数据存储中，而不仅仅是在发出 API 调用时。

创建新的连接邀请后，该事件将自动发送。每份邀请创建一个活动，同一邀请中没有重复的事件。

##### 收件人
<a name="connection-invitation-received-recipients"></a>

连接邀请中接收者的AWS账户。

##### 预期的处理方式
<a name="connection-invitation-received-handling"></a>

典型的客户行为：
+ 即时通知：向业务团队发出有关新合作机会的警报
+ 工作流程自动化：使用待处理的邀请自动更新合作伙伴管理系统
+ Decision Support：根据连接类型向相应的决策者发送邀请
+ 审核日志：记录邀请收据以进行合规和合作伙伴关系跟踪
+ 响应自动化：对于值得信赖的合作伙伴，可能会自动接受某些类型的邀请

常见的集成模式：
+ Lambda 函数 → 更新合作伙伴门户控制面板
+ SQS 队列 → Batch 处理审阅邀请
+ SNS 主题 → 给业务团队的 Email/Slack 通知
+ API 目标 → 连接到外部 CRM/partner 管理系统的 Webhook

##### 示例
<a name="connection-invitation-received-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Received",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "inviterEmail": "abc@def.com",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderCompanyName": "<<Sender Partner Account Name>>",
        "senderProfileId": "pprofile-****",
        "expiresAt": "<ISO 8601 date time>"
    }
  }
}
```

#### 合作伙伴连接邀请已接受
<a name="connection-invitation-accepted"></a>

##### 触发上下文
<a name="connection-invitation-accepted-context"></a>

当成功接受连接邀请，并且通过 AcceptConnectionInvitation API 创建连接并将其保留在 PAC 的数据存储中时，就会生成此事件。成功接受邀请并建立连接后，将立即发送该事件。

当连接邀请被接受时，该事件将自动发送。每份邀请接受一个活动，同一份接受的活动不能重复进行。

##### 收件人
<a name="connection-invitation-accepted-recipients"></a>

连接邀请中涉及的两个AWS账户：最初发送邀请的发送者账户和接受邀请的接收者账户。

##### 预期的处理方式
<a name="connection-invitation-accepted-handling"></a>

典型的客户行为：
+ 激活伙伴关系：触发工作流程以启用第 2 层业务活动
+ 状态更新：使用活动连接状态更新合作伙伴管理系统
+ 通知：提醒业务团队成功建立合作伙伴关系
+ 访问配置：自动授予适当的协作权限
+ 分析：跟踪合作伙伴转化率和成功指标

常见的集成模式：
+ Lambda 函数 → 启用数据共享权限并更新合作伙伴门户
+ SQS 队列 → Batch 处理业务设置的连接激活
+ SNS 主题 → 给业务和技术团队的 Email/Slack 通知
+ API 目的地 → 通过 Webhook 到 CRM 系统以更新合作伙伴关系状态

##### 示例
<a name="connection-invitation-accepted-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type":  "Partner Connection Invitation Accepted",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection Invitation ARN>>" , "<<Connection ARN>>" ],
  "account": "<corresponding partner AWS account>",
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration"
    },
    "connection": {
        "arn": "<<Connection ARN>>",
         "id": "pac-*****",
         "Participant1AccountId": "<<Sender AWS AccountId>>", 
         "Participant2AccountId": "<<Receiver AWS AccountId>>",
         "status": "ACTIVE"
     }
  }
}
```

#### 合作伙伴连接邀请被拒绝
<a name="connection-invitation-rejected"></a>

##### 触发上下文
<a name="connection-invitation-rejected-context"></a>

当通过 RejectConnectionInvitation API 成功拒绝连接邀请时，就会生成此事件。该事件在处理邀请拒绝后立即发送，并保留在 PAC 的数据存储中。

当连接邀请被拒绝时，该事件将自动发送。每个邀请都拒绝一个事件，同一拒绝事件没有重复事件。

##### 收件人
<a name="connection-invitation-rejected-recipients"></a>

最初发送连接邀请的AWS账户（发件人账户）。

##### 预期的处理方式
<a name="connection-invitation-rejected-handling"></a>

典型的客户行为：
+ 状态更新：使用拒绝状态更新合作伙伴管理系统
+ Follow-up 行动：触发替代伙伴关系方法的工作流程
+ 通知：提醒业务团队注意合作决策
+ 清理：从内部系统中删除待处理的邀请引用

常见的集成模式：
+ Lambda 函数 → 更新合作伙伴门户并触发后续工作流程
+ SQS 队列 → Batch 处理拒绝以进行业务分析
+ SNS 主题 → 给业务开发团队的 Email/Slack 通知
+ API 目的地 → 通过 Webhook 到 CRM 系统以更新机会状态

##### 示例
<a name="connection-invitation-rejected-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Rejected",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "receiverProfileId": "pprofile-****"
    }
  }
}
```

#### 合作伙伴连接已取消
<a name="connection-cancelled"></a>

##### 触发上下文
<a name="connection-cancelled-context"></a>

当成功取消活动连接并且通过 CancelConnection API 在 PAC 的数据存储中将活动状态更新为已终止时，就会生成此事件。处理连接取消操作并更新连接状态后，将立即发送该事件。

连接终止时，该事件将自动发送。每个连接取消一个事件，同一取消时没有重复的事件。

##### 收件人
<a name="connection-cancelled-recipients"></a>

连接中其他参与者的AWS账户（不是发起取消的参与者）。

##### 预期的处理方式
<a name="connection-cancelled-handling"></a>

典型的客户行为：
+ 撤销访问权限：立即撤消权限并禁用数据共享
+ 状态更新：使用已终止的连接状态更新合作伙伴管理系统
+ 通知：提醒业务和技术团队注意合作关系终止
+ 清理：移除连接引用并清理共享资源
+ 分析：跟踪连接持续时间和终止模式

常见的集成模式：
+ Lambda 函数 → 撤消权限并更新合作伙伴门户网站状态
+ SQS 队列 → 用于清理工作流的 Batch 处理连接终止
+ SNS 主题 → 给业务和技术团队的 Email/Slack 通知
+ API 目的地 → 通过 Webhook 到 CRM 系统以更新合作伙伴关系状态

##### 示例
<a name="connection-cancelled-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Cancelled",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection ARN>>" ],
  "account": "<corresponding partner AWS account>",
  "detail": {
    "catalog": "AWS",
    "connection" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pac-****",
        "connectionType": "OpportunityCollaboration",
        "canceledBy": "<<AWS account ID>>"
    }
  }
}
```

#### 合作伙伴连接邀请已取消
<a name="connection-invitation-cancelled"></a>

##### 触发上下文
<a name="connection-invitation-cancelled-context"></a>

当通过 CancelConnectionInvitation API 成功取消待处理的连接邀请时，就会生成此事件。活动将在处理取消邀请且邀请状态更新为 “已取消” 后立即发送。

取消连接邀请后，该事件将自动发送。每个连接邀请取消一个事件，同一取消时没有重复的事件。

##### 收件人
<a name="connection-invitation-cancelled-recipients"></a>

本应收到连接邀请的AWS账户（接收者账户）。

##### 预期的处理方式
<a name="connection-invitation-cancelled-handling"></a>

典型的客户行为：
+ 状态更新：更新合作伙伴管理系统以删除待处理的邀请引用
+ 通知：提醒业务团队潜在的合作机会已被撤回
+ 清理：从内部跟踪系统中删除邀请引用
+ 分析：跟踪邀请取消模式以获取合作伙伴见解

常见的集成模式：
+ Lambda 函数 → 更新合作伙伴门户并删除待处理的邀请通知
+ SQS 队列 → 取消批处理以进行业务分析
+ SNS 主题 → 给业务开发团队的 Email/Slack 通知
+ API 目的地 → 通过 Webhook 到 CRM 系统以更新机会状态

##### 示例
<a name="connection-invitation-cancelled-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Cancelled",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "account": "<corresponding partner AWS account>",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation" :{
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderProfileId": "pprofile-****"
    }
  }
}
```

#### 合作伙伴连接邀请已过期
<a name="connection-invitation-expired"></a>

##### 触发上下文
<a name="connection-invitation-expired-context"></a>

当待处理的连接邀请在到达其 ExpiresAt 时间戳后自动过期而没有被接收者接受或拒绝时，就会生成此事件。当邀请到期时间时，系统会自动触发该事件。

连接邀请到期后，将自动发送该事件。每份邀请都有一个活动已过期，同一有效期内没有重复的事件。

##### 收件人
<a name="connection-invitation-expired-recipients"></a>

连接邀请中涉及的两个AWS账户：最初发送邀请的发送者账户和收到邀请的接收者账户。

##### 预期的处理方式
<a name="connection-invitation-expired-handling"></a>

典型的客户行为：
+ 状态更新：更新合作伙伴管理系统以将邀请标记为已过期
+ Follow-up 行动：触发重新参与的工作流程或替代伙伴关系方法
+ 通知：提醒业务团队注意错过的合作机会
+ 清理：从内部跟踪系统中删除过期的邀请引用

常见的集成模式：
+ Lambda 函数 → 更新合作伙伴门户并触发后续工作流程
+ SQS 队列 → Batch 处理过期时间以进行业务分析
+ SNS 主题 → 给业务开发团队的 Email/Slack 通知
+ API 目的地 → 通过 Webhook 到 CRM 系统以更新机会状态

##### 示例
<a name="connection-invitation-expired-example"></a>

```
{
  "version": "1",
  "id": "<event id>",
  "detail-type": "Partner Connection Invitation Expired",
  "source": "aws.partnercentral-account",
  "time": "<ISO 8601 date time>",
  "region": "us-east-1",
  "resources": [ "<<Connection Invitation ARN>>" ],
  "detail": {
    "catalog": "AWS",
    "connectionInvitation": {
        "arn": "<<Connection Invitation ARN>>",
        "id": "pacinv-****",
        "connectionType": "OpportunityCollaboration",
        "inviterEmail": "abc@def.com",
        "invitationMessage": "We'd like to collaborate on a joint solution for cloud security. Please accept this connection invitation to proceed.",
        "senderProfileId": "pprofile-****",
        "receiverProfileId": "pprofile-****"
    }
  }
}
```