View a markdown version of this page

在沙箱中测试AWS合作伙伴中心权益 API - AWS 合作伙伴中心

AWS 合作伙伴中心 API 参考已重新构建。有关支持的 API 操作的更多信息,请参阅 AWS 合作伙伴中心 API 参考

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

在沙箱中测试AWS合作伙伴中心权益 API

如何使用沙箱

要使用沙箱,请完成以下步骤:

  1. 创建一个 IAM 角色:

    在与您的AWS合作伙伴中心账户AWS 账户关联的 IAM 角色中创建。

  2. 分配策略:

    将以下策略分配给 IAM 角色。有关更多信息,请参阅添加和删除 IAM 身份权限

    { "Version": "2012-10-17", "Statement": [{ "Sid": "BenefitsManagement", "Effect": "Allow", "Action": [ "partnercentral:ListBenefits", "partnercentral:GetBenefit", "partnercentral:CreateBenefitApplication", "partnercentral:AmendBenefitApplication", "partnercentral:UpdateBenefitApplication", "partnercentral:SubmitBenefitApplication", "partnercentral:GetBenefitApplication", "partnercentral:CancelBenefitApplication", "partnercentral:RecallBenefitApplication", "partnercentral:ListBenefitApplications", "partnercentral:AssociateBenefitApplicationResource", "partnercentral:DisasssociateBenefitApplicationResource", "partnercentral:ListBenefitAllocations", "partnercentral:GetBenefitAllocation", "partnercentral:TagResource", "partnercentral:UntagResource", "partnercentral:ListTagsForResource" ], "Resource": "*", "Condition": { "StringEquals": { "partnercentral:Catalog": [ "Sandbox" ] } } }, { "Sid": "AWSPartnerOpportunityAccess", "Effect": "Allow", "Action": [ "partnercentral:GetAwsOpportunitySummary", "partnercentral:GetOpportunity", "partnercentral:ListOpportunities" ], "Resource": "*", "Condition": { "StringEquals": { "partnercentral:Catalog": [ "Sandbox" ] } } }, { "Sid": "ListingAWSMarketplaceEntities", "Effect": "Allow", "Action": [ "aws-marketplace:ListEntities" ], "Resource": "*" }, { "Sid": "AWSMarketplaceOffersAccess", "Effect": "Allow", "Action": [ "aws-marketplace:DescribeEntity" ], "Resource": [ "arn:aws:aws-marketplace:::AWSMarketplace/Offer/*" ] }, { "Sid": "S3PutObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": ["arn:aws:s3:::aws-partner-central-marketplace-ephemeral-writeonly-files/*"] }, { "Sid": "TaggingAccess", "Effect": "Allow", "Action": [ "partnercentral:TagResource", "partnercentral:UntagResource", "partnercentral:ListTagsForResource" ], "Resource": [ "arn:aws:partnercentral:us-east-1:*:catalog/Sandbox/benefit-application/*", "arn:aws:partnercentral:us-east-1:*:catalog/Sandbox/benefit-allocation/*" ], "Condition": { "StringEquals": { "partnercentral:Catalog": [ "Sandbox" ] } } } ] }
  3. 使用 IAM 角色证书:

    在您的解决方案中使用此 IAM 角色的证书(密钥和访问密钥)执行 API 操作。

测试AWS actions

在测试阶段,通常需要模拟AWS动作。该模拟使合作伙伴能够全面测试其与AWS服务集成的完整端到端流程。每个请求都包含一个用于确定数据环境的目录参数。

模拟福利申请的创建

要模拟福利应用程序的创建,请在CreateBenefitApplication操作的有效载荷"catalog": "Sandbox"中包含在有效载荷中。

例如:

{ "Catalog": "Sandbox", "ClientToken": "String", "BenefitIdentifier": "String", "FulfillmentTypes": ["String"], "BenefitApplicationDetails": JsonDocument, "Name": "String", "Description": "String", "Tags": [ { "Key": "string", "Value": "string" } ], "PartnerContacts": [ { "BusinessTitle": "string", "Email": "string", "FirstName": "string", "LastName": "string", "Phone": "string" } ], "FileDetails": [ { "FileURI": "String", "BusinessUseCase": "String" } ], "AssociatedResources": [ { "ResourceType": "BENEFIT_ALLOCATION | OPPORTUNITY", "ResourceArn": "ARN" } ] }

其他测试说明

  1. 要测试其他操作,请在有效载荷"catalog": "Sandbox"中进行设置。

  2. 沙盒目录和 AWS 目录中的权益 ID 不同。使用进行 GetBenefit API 调用"catalog": "Sandbox"以在沙盒中获取福利标识符。

  3. 沙盒目录和 AWS 目录中的福利分配不同。

  4. 要移至生产环境,请将目录值从更改SandboxAWS

在沙盒环境中测试事件

合作伙伴可以使用沙盒环境中的事件,以帮助测试基于事件的实现。通过 EventBridge 在事件详细信息中指定来设置监听沙盒事件catalog: Sandbox的规则。AWS 账户有关更多信息,请参阅 的通知AWS合作伙伴中心权益 API

事件规则示例:

{ "source": ["aws.partnercentral-benefits"], "detail": { "catalog": ["Sandbox"] } }

指定catalog为的事件规则Sandbox将仅匹配来自沙箱的事件,这些事件是由您在沙盒环境中执行的操作生成的。