1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 当您的Amazon市场上的买家创建新合同、升级合同、更新合同或合同过期时,将向“aws-mp-entitlement-notification”SNS主题发布通知。发送到此主题的通知将具有以下三个关键信息:
{
"action": "<action-name>",
"customer-identifier": " X01EXAMPLEX",
"product-code": "n0123EXAMPLEXXXXXXXXXXXX",
}
尽管“action”属性键始终具有“entitlement-updated”值,但买家/客户身份将使用属性键“customer-identifier”提供。
当aws-mp-entitlement-notificationSNS主题将此消息转发到您的SQS队列时,消息将类似于以下内容:
{
"Type" : "Notification",
"MessageId" : "63a3f6b6-d533-4a47-aef9-fcf5cf758c76",
"TopicArn" : "arn:aws:sns:us-west-2:123456789012:MyTopic",
"Message" : "{\n \"action\": \"<action-name>\",\n \"customer-identifier\": \" X01EXAMPLEX\",\n \"product-code\": \"n0123EXAMPLEXXXXXXXXXXXX\",\n}",
"Timestamp" : "2012-03-29T05:12:16.901Z",
"SignatureVersion" : "1",
"Signature" : "EXAMPLEnTrFPa3...",
"SigningCertURL" : "https://sns.us-west-2.amazonaws.com/SimpleNotificationService-f3ecfb7224c7233fe7bb5f59f96de52f.pem",
"UnsubscribeURL" : "https://sns.us-west-2.amazonaws.com/?Action=Unsubscribe&SubscriptionArn=arn:aws:sns:us-west-2:123456789012:MyTopic:c7fe3a54-ab0e-4ec2-88e0-db410a0f2bee"
}
SQS队列消息中“customer-identifier”和“product-code”的详细信息将成为“Message”属性键的一部分。
...
"Message
然后,您可以发出 "GetEntitlements" API 调用,并使用来自 SQS 消息的 "customer-identifier" 和 "product-code"。
在进行 GetEntitlements 调用时,您将需要将来自 SQS 消息的 "product-code" 作为 "ProductCode" 请求参数传递。然后,您需要使用 "Filter" 请求参数,并将从 SQS 消息中获得的客户标识作为值传递给 CUSTOMER_IDENTIFIER 过滤键。
此 API 调用将返回与 SQS 消息中的 customer-identifier 和 product-code 标识的客户特定的权益。
例如,使用 Python 编程语言和 boto3 SDK,您可以执行 "get_entitlements" 函数调用:
response = client.get_entitlements(
ProductCode='n0123EXAMPLEXXXXXXXXXXXX',
Filter={
'CustomerIdentifier': [
'X01EXAMPLEX',
]
}
)
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前