AWS Partner Central API 참조가 재구성되었습니다. 지원되는 API 작업에 대한 자세한 내용은 AWS Partner Central API 참조를 참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS파트너 중앙 채널 API에 대한 알림
채널 API의 이벤트는 상태 변경 또는 채널 관련 활동의 세부 정보에 대한 실시간 알림을 제공합니다. 이러한 이벤트는 시스템을AWS Partner Central과 동기화하고 적시에 응답 및 업데이트를 보장하는 데 도움이 됩니다.
사전 조건
AWS Partner Central Channel API에서 이벤트에 액세스하고 관리하려면 적절한 IAM 권한이 필요합니다. EventBridge에 사용할 수 있는 작업, 리소스 및 조건 키에 대한 자세한 내용은 Amazon EventBridge 사용 설명서의 Amazon EventBridge에서 IAM 정책 조건 사용을 참조하세요. EventBridge 조건 키 중 하나는 특정 이벤트 유형에 대한 권한 범위를 지정하는 데 사용할 수 events:detail-type있는 입니다.
다음 예제 정책은 이벤트에 대한 권한을 사용자 지정하고 범위를 지정하는 방법을 보여줍니다. AllowPutRuleForPartnercentralChannelEvents 문은 규칙 생성을 허용하지만 aws.partnercentral-channel 소스의 이벤트에 대해서만 가능합니다.
자세한 IAM 정책 예제는 EventBridge 권한에 대한 AWS 설명서를 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPutRuleForPartnerCentralChannelEvents", "Effect": "Allow", "Action": "events:PutRule", "Resource": "*", "Condition": { "StringEquals": { "events:source": "aws.partnercentral-channel" } } } ] }
이벤트를 모니터링하도록 Amazon EventBridge 구성
채널 API 이벤트를 모니터링하려면 캡처하려는 이벤트와 일치하는 EventBridge 규칙을 생성합니다.AWS Management Console또는AWS SDKs를 사용하여 규칙을 생성하고 관리할 수 있습니다. 다음 섹션에서는 두 방법을 모두 사용하여 규칙을 생성하는 방법을 설명합니다. 사용하는 방법에 관계없이 미국 동부(버지니아 북부) us-east-1 리전에서 규칙을 생성해야 합니다.
AWS Management Console설정
를 사용하여 EventBridge 규칙을 설정하려면 Amazon EventBridge 사용 설명서의 Amazon EventBridge에서 이벤트에 반응하는 규칙 생성의 단계를AWS Management Console따르세요. EventBridge 규칙을 생성할 때 이벤트 버스를 기본값으로 설정하고 미국 동부(버지니아 북부) us-east-1 리전에서 규칙을 생성해야 합니다.
다음은 이벤트 규칙의 예입니다.
{ "source": ["aws.partnercentral-channel"], "detail": { "catalog": ["AWS"] } }
AWS SDK 설정
AWS SDKs를 사용하여 프로그래밍 방식으로 EventBridge 규칙을 생성하고 관리할 수 있습니다. 자세한 내용은 Amazon EventBridge API 참조의 PutRule을 참조하세요.
다음 예제에서는AWS SDK for Python(Boto3)을 사용합니다.
import boto3 client = boto3.client('events', region_name='us-east-1') response = client.put_rule( Name='ChannelHandshakeCreatedRule', EventPattern= '{ "source": ["aws.partnercentral-channel"], "detail-type": ["Channel Handshake Created"], "detail": {"catalog": ["AWS"]} }', State='ENABLED' ) print('Rule ARN:', response['RuleArn'])
채널 API 이벤트에 대해 자세히 알아보기
다음 섹션에서는 채널 API 이벤트 유형, 이를 트리거하는 시나리오 및 이벤트 예제를 설명합니다.
이벤트 유형
다음은 이벤트 유형과 트리거입니다.
-
채널 핸드셰이크 생성됨: 새 채널 핸드셰이크가 생성될 때 트리거됩니다.
-
채널 핸드셰이크 수락됨: 새 채널 핸드셰이크가 수락되면 트리거됩니다.
-
채널 핸드셰이크 거부됨: 새 채널 핸드셰이크가 거부될 때 트리거됩니다.
채널 핸드셰이크 생성됨
다음 예제에서는 다양한 핸드셰이크 유형에 대한 일반적인 채널 핸드셰이크 생성 이벤트를 보여줍니다.
서비스 기간 핸드셰이크 시작:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Created", "source": "aws.partnercentral-channel", "account": "789789789789", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-abc123def456g" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "START_SERVICE_PERIOD", "id": "ch-abc123def456g", "receiverAccountId": "789789789789", "ownerAccountId": "123123123123", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "startServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
서비스 기간 핸드셰이크 취소:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Created", "source": "aws.partnercentral-channel", "account": "789789789789", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-def456ghi789j" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "REVOKE_SERVICE_PERIOD", "id": "ch-def456ghi789j", "ownerAccountId": "123123123123", "receiverAccountId": "789789789789", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "revokeServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
프로그램 관리 계정 핸드셰이크:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Created", "source": "aws.partnercentral-channel", "account": "456456456456", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-ghi789jkl012m" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "pma-abc123def456g", "handshakeType": "PROGRAM_MANAGEMENT_ACCOUNT", "id": "ch-ghi789jkl012m", "ownerAccountId": "123123123123", "receiverAccountId": "456456456456", "senderAccountId": "123123123123", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "programManagementAccountHandshakeDetail": { "program": "SOLUTION_PROVIDER" } } } }
채널 핸드셰이크 수락됨
다음 예제에서는 다양한 핸드셰이크 유형에 대해 허용되는 일반적인 채널 핸드셰이크 이벤트를 보여줍니다.
서비스 기간 핸드셰이크 시작:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Accepted", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-abc123def456g" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "START_SERVICE_PERIOD", "id": "ch-abc123def456g", "ownerAccountId": "123123123123", "receiverAccountId": "789789789789", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "startServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
서비스 기간 핸드셰이크 취소:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Accepted", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-def456ghi789j" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "REVOKE_SERVICE_PERIOD", "id": "ch-def456ghi789j", "ownerAccountId": "123123123123", "receiverAccountId": "789789789789", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "revokeServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
프로그램 관리 계정 핸드셰이크:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Accepted", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-ghi789jkl012m" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "pma-abc123def456g", "handshakeType": "PROGRAM_MANAGEMENT_ACCOUNT", "id": "ch-ghi789jkl012m", "ownerAccountId": "123123123123", "receiverAccountId": "456456456456", "senderAccountId": "123123123123", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "programManagementAccountHandshakeDetail": { "program": "SOLUTION_PROVIDER" } } } }
채널 핸드셰이크 거부됨
다음 예제에서는 다양한 핸드셰이크 유형에 대한 일반적인 채널 핸드셰이크 거부 이벤트를 보여줍니다.
서비스 기간 핸드셰이크 시작:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Rejected", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-abc123def456g" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "START_SERVICE_PERIOD", "id": "ch-abc123def456g", "ownerAccountId": "123123123123", "receiverAccountId": "789789789789", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "startServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
서비스 기간 핸드셰이크 취소:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Rejected", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-def456ghi789j" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "rs-jkl012mno345p", "handshakeType": "REVOKE_SERVICE_PERIOD", "id": "ch-def456ghi789j", "ownerAccountId": "123123123123", "receiverAccountId": "789789789789", "senderAccountId": "456456456456", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "revokeServicePeriodHandshakeDetail": { "servicePeriodType": "MINIMUM_NOTICE_PERIOD", "minimumNoticeDays": "14", "endDate": null, "startDate": "2025-02-02T00:00:00Z", "note": "Test note example" } } } }
프로그램 관리 계정 핸드셰이크:
{ "version": "0", "id": "01234567-0123-0123-0123-0123456789ab", "detail-type": "Channel Handshake Rejected", "source": "aws.partnercentral-channel", "account": "123123123123", "time": "2025-02-01T00:00:00Z", "region": "us-east-1", "resources": [ "arn:aws:partnercentral:us-east-1:123123123123:catalog/AWS/channel-handshake/ch-ghi789jkl012m" ], "detail": { "requestId": "12345678-1234-1234-1234-123456789abc", "catalog": "AWS", "associatedResourceIdentifier": "pma-abc123def456g", "handshakeType": "PROGRAM_MANAGEMENT_ACCOUNT", "id": "ch-ghi789jkl012m", "ownerAccountId": "123123123123", "receiverAccountId": "456456456456", "senderAccountId": "123123123123", "senderDisplayName": "TestDisplayName", "handshakeDetail": { "programManagementAccountHandshakeDetail": { "program": "SOLUTION_PROVIDER" } } } }