

La référence AWS Partner Central d'API a été restructurée. Pour plus d'informations sur les opérations d'API prises en charge, consultez la [référence des AWS Partner Central API](https://docs.aws.amazon.com/partner-central/latest/APIReference/Welcome.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Tester dans un bac à sable pour AWS API Partner Central Benefits
<a name="testing-sandbox-benefits"></a>

## Comment utiliser le bac à sable
<a name="use-sandbox"></a>

Pour utiliser le bac à sable, procédez comme suit :

1. Créez un rôle IAM :

   Créez un rôle IAM dans le compte Compte AWS associé à votre compte AWS Partner Central.

1. Attribuer une politique :

   Attribuez la politique suivante au rôle IAM. Pour de plus amples informations, consulter [Ajout et suppression d'autorisations d'identité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

   ```
   {
     "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"
                       ]
                   }
               }
           }
       ]
   }
   ```

1. Utilisez les informations d'identification du rôle IAM :

   Utilisez les informations d'identification (clé secrète et clé d'accès) de ce rôle IAM dans votre solution pour effectuer les actions d'API.

## Test AWS actions
<a name="testing-aws-actions"></a>

Pendant la phase de test, il est souvent nécessaire de simuler AWS des actions. Cette simulation permet aux partenaires de tester de manière approfondie le flux complet de bout en bout de leur intégration aux AWS services. Chaque demande inclut un paramètre de catalogue qui détermine l'environnement des données.

### Simulation de la création d'une demande de prestations
<a name="simulating-benefit-application"></a>

Pour simuler la création d'une demande de prestations, `"catalog": "Sandbox"` incluez dans la charge utile de l'`CreateBenefitApplication`action la charge utile.

Par exemple :

```
{
  "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"
    }
  ] 
}
```

## Remarques de test supplémentaires
<a name="additional-testing-notes"></a>

1. Pour tester d'autres actions, définissez `"catalog": "Sandbox"` la charge utile.

1. Les identifiants Benefit du catalogue Sandbox et du catalogue AWS sont différents. Passez un appel d'`GetBenefit`API avec `"catalog": "Sandbox"` pour obtenir l'identifiant Benefit dans le Sandbox.

1. L'allocation des avantages dans le catalogue Sandbox et dans le catalogue AWS est différente.

1. Pour passer à la production, remplacez la valeur du `Sandbox` catalogue par`AWS`.

## Événements de test dans l'environnement sandbox
<a name="testing-events"></a>

Les partenaires peuvent utiliser les événements de l'environnement sandbox pour aider à tester les implémentations basées sur les événements. Configurez EventBridge de la même manière Compte AWS des règles pour écouter les événements du sandbox en les spécifiant `catalog: Sandbox` dans les détails de l'événement. Pour de plus amples informations, veuillez consulter [Notifications pour AWS API Partner Central Benefits](benefits-api-events.md).

Exemple de règle d'événement :

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

Les règles d'événements qui spécifient « `catalog` comme » ne `Sandbox` correspondront qu'aux événements provenant du sandbox, générés par les actions que vous effectuez dans l'environnement sandbox.