Vidéo: Guy de Maupassant - Bel-Ami - Livre audio SOUS-TITRES, Nicole Delage 2024
Ce serait bien si tout fonctionnait exactement comme prévu lors de votre appel REST à AWS. Cependant, un certain nombre de problèmes peuvent survenir et entraîner un message d'erreur similaire à celui que vous voyez ici. Notez que l'image n'est pas complète. Les valeurs de clé sont bloquées pour maintenir la facilité d'utilisation des clés d'accès.
Les messages d'erreur peuvent prendre différentes formes.Le problème peut provenir de diverses sources. La première solution consiste à encoder l'URL de la signature pour garantir que les caractères spéciaux dans la chaîne d'URL ne confondent pas AWS. Un outil que vous pouvez utiliser pour surmonter ce problème est l'URL Decoder / Encoder. Pour utiliser cet outil, collez simplement la signature (pas l'URL entière) dans le champ et cliquez sur Encoder. La signature résultante ne contient aucun caractère spécial, mais utilise plutôt un codage d'URL pour éviter les problèmes.
Même si vous utilisez les extraits de code fournis par Amazon, le processus de calcul de la signature peut également ne pas fonctionner correctement. Regardez à nouveau la première image, aux éléments
StringToSign
et
StringToSignBytes
. Ces éléments vous indiquent ce que AWS attendait lors de la vérification de la signature. Bien sûr, cela ne vous donne toujours aucune idée de la valeur que vous auriez dû fournir pour une signature. Heureusement, le testeur de signatures Amazon peut fournir cette information.
Vous téléchargez Amazon Signature Tester sur votre disque dur. Ce que vous obtenez est un fichier README et une page HTML que vous chargez dans votre navigateur. L'image ci-dessous montre comment le bas de cette page apparaît. Vous voulez travailler au bas de la page car il contient deux champs que vous devez fournir: la valeur de l'élément
StringToSignBytes
et votre clé secrète.
Lorsque vous cliquez sur Obtenir la signature, vous voyez la valeur de l'élément
StringToSign
telle qu'AWS la voit, la signature réelle et la signature codée par l'URL. Vous utilisez la signature codée par URL avec votre appel à AWS. Pour valider cette signature, remplacez simplement la valeur actuelle dans la chaîne URL par cette nouvelle valeur. Si le problème est dans votre code de signature, l'appel devrait fonctionner comme prévu.
La raison pour laquelle vous voulez revérifier la valeur de l'élément
StringToSign
est que AWS peut le voir différemment de ce que vous faites. Par exemple, notez que dans ce cas, il y a trois caractères de nouvelle ligne entre
GET
et la valeur
Expires
de 1490652000. Si le code de calcul de votre signature ne prend pas en compte cette la signature sera fausse.Vous pouvez trouver des aides de dépannage supplémentaires ici.