Alibaba Cloud attribue un identifiant unique (RequestId) à chaque requête API. Utilisez ce RequestId pour diagnostiquer les erreurs dans OpenAPI Troubleshoot ou auditer les appels dans ActionTrail.
Méthodes
Récupérez le RequestId à partir de la réponse API selon votre flux de travail :
Opérations via la console : utilisez les outils de développement du navigateur.
Débogage d'API : utilisez OpenAPI Explorer.
Intégration de code : utilisez un SDK Alibaba Cloud.
Opérations en ligne de commande : utilisez l'interface CLI Alibaba Cloud.
Infrastructure as Code : utilisez Terraform. Un RequestId est une chaîne au format UUID, telle que
EB2D2E3C-DE2D-5ABD-8F40-7FA3E6D31AF4. Si vous trouvez ce champ dans la réponse, vous avez récupéré avec succès le RequestId. Le RequestId apparaît aussi bien dans les réponses réussies que dans les réponses d'erreur. En cas d'erreur, saisissez le RequestId dans OpenAPI Troubleshoot pour obtenir un diagnostic et une solution. Pour les erreurs d'autorisation, vous pouvez également extraire l'action non autorisée spécifique (AuthAction) ainsi que le message de diagnostic chiffré associé (EncodedDiagnosticMessage) depuis le champAccessDeniedDetailde la réponse d'erreur.
Utiliser les outils de développement du navigateur dans la console
Lorsque vous effectuez des opérations dans la console, ouvrez les outils de développement du navigateur (F12) et filtrez sur api.json? pour afficher le RequestId d'une requête.
Par exemple, lorsqu'un utilisateur RAM ne disposant pas des autorisations suffisantes déclenche une erreur Forbidden.RAM, la console affiche une boîte de dialogue Access Denied contenant des champs tels que Error code, Request ID, Action et Identity principal type. Filtrez la requête api.json?action=ModifySecurityGroupAttribute dans l'onglet réseau. La réponse JSON affiche le requestId correspondant ainsi que les détails de l'erreur dans accessDeniedDetail, qui incluent les champs AuthAction, AuthPrincipalType, NoPermissionType et PolicyType.
Utiliser OpenAPI Explorer
Lorsque vous déboguez une API dans OpenAPI Explorer, le RequestId de la requête apparaît dans le résultat de l'appel.
La réponse JSON de l'appel contient également les champs clés suivants :
HostId : l'endpoint du service cloud qui a traité la requête, par exemple
ecs-cn-hangzhou.aliyuncs.com.Code : le code d'erreur. Par exemple,
Forbidden.RAMindique que l'utilisateur RAM n'est pas autorisé à effectuer l'opération sur la ressource spécifiée.Message : le message d'erreur décrivant la cause de l'échec.
Recommend : une URL vers la page OpenAPI Troubleshoot pour le code d'erreur. Ouvrez cette URL pour consulter les informations de diagnostic et les solutions.
AccessDeniedDetail : les détails du refus d'autorisation, y compris les sous-champs clés tels que
AuthAction,AuthPrincipalTypeetEncodedDiagnosticMessage.
Utiliser les SDK
Lorsque vous utilisez un SDK Alibaba Cloud, vous pouvez obtenir le RequestId à partir de la réponse API. En cas d'erreur, interceptez l'exception correspondante pour récupérer les informations d'erreur, y compris le RequestId.
try {
ModifySecurityGroupAttributeRequest modifySecurityGroupAttributeRequest = new ModifySecurityGroupAttributeRequest()
.setRegionId("cn-chengdu")
.setSecurityGroupId("sg-2xxx")
.setDescription("only test");
ModifySecurityGroupAttributeResponse response = client.modifySecurityGroupAttributeWithOptions(modifySecurityGroupAttributeRequest, runtimeOptions);
System.out.println(new Gson().toJson(response));
} catch (Exception e) {
if (e instanceof TeaException) {
TeaException teaException = (TeaException) e;
System.err.println("Request ID: " + teaException.getRequestId());
System.err.println("Error Code: " + teaException.getCode());
System.err.println("Error Message: " + teaException.getMessage());
System.err.println("Error Data: " + teaException.getData());
throw new RuntimeException("API call failed", teaException);
} else {
System.err.println("Unexpected error occurred: " + e.getMessage());
throw new RuntimeException("Unexpected error", e);
}
}
La méthode getRequestId() sur l'objet exception renvoie directement le RequestId. Vous pouvez également trouver le RequestId dans la sortie d'erreur :
Error Code: Forbidden.RAM
Error Message: code: 403, User not authorized to operate on the specified resource, or this API doesn't support RAM. request id: EB2D2E3C-DE2D-5ABD-8F40-7FA3E6D31AF4
Error Data: {RequestId=EB2D2E3C-DE2D-5ABD-8F40-7FA3E6D31AF4, HostId=ecs-cn-hangzhou.aliyuncs.com, Code=Forbidden.RAM, Message=User not authorized to operate on the specified resource, or this API doesn't support RAM., Recommend=https://api.alibabacloud.com/troubleshoot?q=Forbidden.RAM&product=Ecs&requestId=EB2D2E3C-DE2D-5ABD-8F40-7FA3E6D31AF4, AccessDeniedDetail={PolicyType=ResourceGroupLevelIdentityBasedPolicy, AuthPrincipalOwnerId=1xxx6, EncodedDiagnosticMessage=AQIBIAAAAH13IrZA790Zkpi90wMZV/djLrVZYZ095+ad/t9KTHUamUspajhw3fLk2bPC33jhm9N7YhLxJBLwB4TzYmXq/afb6N916JVS3yCOw+TECTGjZr4QglIZsFA+h+ReEbwG+LpVFh12zZJrS8kkCW+8VNSLM1cfBKkNon9hAUyA5WK3ONRSCPFoDPplynjQ3qsYUTdtXHgsAxIEOZa6xCr+e56B0wmhm3x3ZjcRznY1D8u0Yfwn0cPf1oLFC4F1A1B2UeJBxzhn2t7s8NTAYcNBZp03zLu8VuL6gkAwJyZSEabaXs1bhidwZDrTc/JkToX/0AhHh0b8j/qqTZ6K9KtcZ7PJT0bESMPjXxezm4fr0CvozoHb9zAcyZkoRg1XkJfV9bcxvoWPaRcOdbyQSHMbRV089VUY4h8Cb5L8IblQt8TKREwrJJijrF80HfFiAfYORLQWCptgA/LeTZJisebTTNNcwmhdOy23NhFFWORjL9t4uhygqRWZqgwLb7FZMenr9PiTP4xVYcYELs/fsHKAbnIcn+XAKjaucIxqFucbmMLi1fuaeYJa0YY7FyAuxyuiCRwFHMtCRj191R1R2FSin3OXfsPd0K1u30m1Zi10XTaOmn69mScRe/NYGw5WW+pC/y7itJyLztHZp+S2o9kTEH6e1kNSV4FwsSwf4/+SKWa}}
Utiliser l'interface CLI Alibaba Cloud
Lorsque vous utilisez l'interface CLI Alibaba Cloud, le RequestId apparaît dans la sortie de la CLI.
shell@Alicloud:~$ aliyun ecs ModifySecurityGroupAttribute --region cn-chengdu --RegionId 'cn-chengdu' --SecurityGroupId 'sg-2xxx' --Description 'test sg'
ERROR: SDK.ServerError
ErrorCode: Forbidden.RAM
Recommend: https://api.alibabacloud.com/troubleshoot?q=Forbidden.RAM&product=Ecs&requestId=9F1F4997-A1E7-5B35-A5B7-7D668F4F4A51
RequestId: 9F1F4997-A1E7-5B35-A5B7-7D668F4F4A51
Message: User not authorized to operate on the specified resource, or this API doesn't support RAM.
RespHeaders: map[Access-Control-Allow-Origin:[*] Access-Control-Expose-Headers:[*] Connection:[keep-alive] Content-Length:[1898] Content-Type:[applica
tion/json;charset=utf-8] Date:[Mon, 22 Sep 2025 06:09:05 GMT] Keep-Alive:[timeout=25] Vary:[Accept-Encoding] X-Acs-Request-Id:[9F1F4997-A1E7-5B35-A5B7
-7D668F4F4A51] X-Acs-Trace-Id:[06140130ef99e54579652c9ced2e0a79]]
AccessDeniedDetail: map[AuthAction:ecs:ModifySecurityGroupAttribute AuthPrincipalDisplayName:2xxx 4 AuthPrincipalOwnerId:14xxx 6
AuthPrincipalType:SubUser EncodedDiagnosticMessage:AQIBIAAAAHuT4vB154DXED4KADE6tXWFYoyd8scM82aU3wC8JzzunFbX8kwIN/xENJ1WATBDNUtY78L36rFULZW8rdyVWUFz
bCH7x5h2xWFfHyDPKCdt2ZHzedv7omxldyK4Km22h0MbxxlWXee5VCd3nbBSB53GWs/DQ8R20fUcTs7nBQ6qq/LC/0PMtqwPnuQFr1s92ZrwXX6LoooqJtq7V5BsIgnUItjqqc6x4m6xZLr9PHEVDnN
RfLOWKPNq+tUEDgsamChTuvV/JZqwxsszCt7KShc9igo0UNfdH3mhO6Fr9w9ohG0YNcpjyiUJeWvNkOmHrXPznbSFmCqNLDeOtGevBy8iMyha/gRG8G9HBHc6pRJBhI1i9qq4tSR6R2DkWZBG7MhPLGfey6
dbEyRlMhvrpT1HODx+3JMJY0gyQ6li9XtKuttioWKkXV4LVANK6sx0U5I1BJUOJCFaPstPOxBk8x8zUEdAQxkgpQ1M9zrw/HAZlaIzwp/r969SryaKEwSkUsVUbcMyr8Y23ertzD16I185p998eOSLM
Y4q1Lnc9d5zxuuRh12eHWZSGNczpAGRY7qpYAYuPnWQ0/Mi0HfBbb5+pf1obhd5hml5TShcDbhMhy2j/GtoBoh/9KPpv57rk7baub0C/FRRs/CeKUciG0KtBTO1oTx6YHiv/vTOuSbBzAzh+Njrg+HoPS
c1iE9jgymUB4YGr7QoMay0BBD8CkPIvj7j3xNLeNlKNKNlAnxGtB4KXlA2OZqxolWXlavWPmVDzYP80Ux8R+uPbBhG+oZhJblWQ62igP8bkBtt83ifGSPtVQq5D7/U4w1DHjBAKS3YOPsvGtJBUbNNs
jSZUALRBeLe+0SQIud/mTPXIMkP6DiPa6nIObsWi0c8Na3nTVsYcsWpMtsXiX4SXmmtVGo9Xh3ti/+v/Aou6X9FuG+J67D/sD73D1ifAoDx2yWdA5W1/7BqCtWr1l01lJs5W51gyNd36SCnwLQHfmht
NLiaZOv4U7VUB1G31mR0fMVVC29VQ6Yq/QjtSZI3HQwILWlrzSE+4ShbqdJrOT2ifDma4CJWmj274NsaxzCpTc/nlExiWhn1nHMJVQ7OtssRCsrEcxyaknzqMZBLWDdOWJ1j9JWJ+HtaKZXPjLU+03
GJ5JZ4o97YutOwBtPi4Q9A4b0v+nCahKPLbOHLtGSeJOVnxFk1PIQGK/h6a6dabJPF8XXwNww9hJsgcK2+huCjsB1NcDq7/uI= NoPermissionType:ImplicitDeny PolicyType:ResourceG
roupLevelIdentityBasedPolicy]
shell@Alicloud:~$
Utiliser Terraform
Terraform orchestre plusieurs ressources ; il n'imprime donc pas le RequestId lorsque l'exécution réussit. En revanche, si une erreur survient lors d'une exécution Terraform, la sortie d'erreur inclut le RequestId.
Error: [ERROR] terraform-provider-alicloud/alicloud/resource_alicloud_security_group_rule.go:209:
SDK.ServerError
ErrorCode: Forbidden.RAM
Recommend: https://api.alibabacloud.com/troubleshoot?q=Forbidden.RAM&product=Ecs&requestId=F7A01BD7-5771-544D-A80F-CD290806BBFA
RequestId: F7A01BD7-5771-544D-A80F-CD290806BBFA
Message: User not authorized to operate on the specified resource, or this API doesn't support RAM.
RespHeaders: map[Access-Control-Allow-Origin:[*] Access-Control-Expose-Headers:[*] Connection:[keep-alive] Content-Type:[application/json;charset=utf-8] Date:[Mon, 22 Sep 2025 06:28:49 GMT] Keep-Alive:[timeout=25] Vary:[Accept-Encoding Accept-Encoding] X-Acs-Request-Id:[F7A01BD7-5771-544D-A80F-CD290806BBFA] X-Acs-Trace-Id:[56259f4ddd3121273aedd3539554b295]]
AccessDeniedDetail: map[AuthAction:ecs:DescribeSecurityGroupAttribute AuthPrincipalDisplayName:2 ]44 AuthPrincipalOwnerId:1 1
6 AuthPrincipalType:SubUser EncodedDiagnosticMessage:AQIBIAAAAMAMz25m9UV+V73fYm+VwVpWAWalMx3dMLYLsDdvHje27uM8nS3Cfm+foIiXEIK+O0WPs41Aaw6QjwBXBjhN7c+N1A
g2FtPaTVWqa8gcqjDQUMO2nzu2orWnfdi12kFfrOZTOQQ1HU97svdvaB+dqur96J8MycNt5UBfp2Afq2H2loKzgNKftodLq6Bcpvxpax76L2MwQD2WpInUU/7i2DfrsI29NehSsDorBmnB+/z9Vjx
l19FZ2yUYQmj/Mbzdsn8aOxkeNwggYEJHnwEgNc9ZcklkEONxzthR/g/plHkRwCjWFjTpUm4i09ss/hMcQW4Z7OiubloCS93JtdP1A1IMTwSD7z5/hjWRHVa1Ud00hI73Sg+iZEb0gaf970xSQ
k+Bdzu7+RXMsP0LYd9VDjmShlTT5Mw65yGPeYKFLA/iweIaeMiBf4LoVorY+3RYZglqW2qEcHVdhb8tLDMMp0/7KRiLAOpKyYb4tCyVUaOC9E14Xda0UxJNBGVKJFCZwaHK9q2p0Yu6MrJkDB2g3kx
mt54nm9e5W1gnm/Ub4tqeOCrte6JOWkFNQyW8tscoxon/aeYBB1pxsf+Mj1Ah2gNQ2/7DjOeZvR8IgNIN9gj5asSy1XxyevVjcS+EJYdX8OWeuIq93kPItw/+u9CGIJVNcl1vMJaBIrJ1fqf+/z0QN
Z5Ivd5gr4VwUGk7bghwkzNCArirvMfsgGrSa7UHRtjooNdwteFAuxH92UPpiaqhx0/uf3n3Hn3AKLQWsnRZtBsapDv4KQP0Qe/r0WXWAgz2/4dBckU5LItHaOEjB8qFmfH8xoHh7infBnfe7injUafTkT
X1wfv1g+0PTTEmpb8xNAd7rY2LTZ/mzAxUOWKmst6KmgXyAMLBrkyw2q+FkmnTBnCf3P9G6l7yfj2jI/OSUULdIC1RkdVocxALi1IHXOEP8IA41L2nV+IWBh38OOzXXP2E7y7+sT9miDxiwrbatbrL
UGkTCMcNAtBD84Xg7QKuzi7Kxev9uuOq36DLOSObzbfMzurts2Kxivq3syaIVVxVaI1gSz2OhEiov3qC5MWOhAWqHdzJVVwJX3zeYwp54XH5IGBnjDi3Fqi1DcD7hw/Ga/5JsSUrLC8hcOu3ahdPvfq
66TTX+k07FgWKTyScGf1ybj2XZnTus9dwcWbKYK3muAxb5vQnYGoP6LLMj5biUZToDKd8yVsZDRguiSurCD/ONULjA511JdM3Z4= NoPermissionType:ImplicitDeny PolicyType:Resource
eGroupLevelIdentityBasedPolicy]
Utiliser directement Signature V3
Si vous appelez une API en utilisant Signature V3 plutôt qu'un SDK, la réponse d'erreur contient le RequestId dans le corps JSON.
L'exemple de code Java suivant appelle l'opération ECS ModifySecurityGroupAttribute en utilisant Signature V3 :
private static final String ALGORITHM = "ACS3-HMAC-SHA256";
public static void main(String[] args) {
String httpMethod = "POST";
String canonicalUri = "/";
String host = "ecs.cn-chengdu.aliyuncs.com";
String xAcsAction = "ModifySecurityGroupAttribute";
String xAcsVersion = "2014-05-26";
SignatureRequest signatureRequest = new SignatureRequest(httpMethod, canonicalUri, host, xAcsAction, xAcsVersion);
signatureRequest.queryParam.put("SecurityGroupId", "sg-2vxxx");
signatureRequest.queryParam.put("Description", "test sg");
signatureRequest.queryParam.put("RegionId", "cn-chengdu");
}
L'appel renvoie une erreur Forbidden.RAM. Vous pouvez utiliser le RequestId E172420D-62F4-5B54-879B-6926F779ED38 pour résoudre le problème. Voici la sortie complète de la console :
authorization========>ACS3-HMAC-SHA256 Credential=LTAxxx ,SignedHeaders=host;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version,Signature=fd3ba03422d195df95992f351cbe8bdc73de34cee61c6d94e1cf720406cfdbe4
V3 signature invoke result:
{"RequestId":"E172420D-62F4-5B54-879B-6926F779ED38","HostId":"ecs.cn-chengdu.aliyuncs.com","Code":"Forbidden.RAM","Message":"User not authorized to operate on the specified resource, or this API doesn't support RAM.","Recommend":"https://api.alibabacloud.com/troubleshoot?q=Forbidden.RAM&product=Ecs&requestId=E172420D-62F4-5B54-879B-6926F779ED38","AccessDeniedDetail":{"PolicyType":"ResourceGroupLevelIdentityBasedPolicy","AuthPrincipalOwnerId":"1xxx","EncodedDiagnosticMessage":"AQBIAAAAAQBSngosi X6fJmgifT84XorhK4BRg2Sou2s7OrXC9gig3UsY8fkC1px/q5sZZaE8SQv+FJtVx+ltT8dX11y2rIqnsfTIQtXqtCN3oFWFzs2TVg64/YnzemB0e/r4zyRuGT98DajQhDtfv2J/ua9WmgLpdv90n5OA4hctr/zabwYW1VokhLwLWfCvmYm6Q/A2/9hXf9EVSxqASL09qyAdafRBw6WTWOYh6o0+sJK6Cd17eXYJUEwKRtdXY8he0nXCO0SKzgghrhm/Qc58JqryqdgZ66RXqRKDK3oippMDc+4bQzkUEsOw1QPjmDGEsTWUC9eHtkRSgcMtVotMUzjViB30I2M5x5bRANHRHKCAzn0gA2vxMo9y+Dvyc8o6GdRo2x51kzZh/0Ij2Vio9KtbSUr2qpFyo4Fi+5Z/pLGPen9ucKAVBTKb5FS1znrbiuFsoK5izdz27SwRTjngwO/WmOdficf0OtRkVfEmrERkZX4k20WYeL0Ze62L+yD35c0y6Uof4pUb4+hMw870k3f3OZq4ffAT3eQW7G6qRxrKNzd9mBWUU/wESttsX2/FI//A1FP/FV40dvmvKJnUH/gNwxPTbiz5tzhMHM0LM0iq3V1xM9U/N/6ifZMfN11e8
+k3JZkg0ij9yraOgy3kR2RBNQbRewV7euGsWk8G3KCCKEhBgo6GkadmFf7tLA5vUkfBUnxaU0ZwWb3oy19KssITAtdwVbJ7VajFn9dN8zirz TfFYXx58jgu93tW0196EeKhG9epxtE6PdkTVtXLJQSQoNMYKbS4oMvtI9D/6IkoNABkfQ6jGT89EnPzsdYWpomamsSVLy3tkIU29AIMuc1bMTKAwtfrcyweIK0mcu6GUVqd+JANGe2OV7v3rMLvaQ2Oi6+5avOF7ddnLg82iNSwtyyriXPO0djRdSAEs6o0PUtSc/8tU0WHEsfLxZM4+6CNABN9O6GpPeo5/7m6ft75FS+XRgAqdPxJvAm9QO8mnIwCRymTqGO5Sdnx1hg6vOuDf1wvxDQ2T2HqU4RPB4mdyWTRLQrJhrBhVxN2UkhS3MFqvIczKx+t4gZQ7o7xYaWe365DaeI6I+5mdmvYRvaD+HXixY+wDbUHLJ9MEHBOprfmBD76K+9WgPELYDtjmt3dGV4jaXuLmTX0e+9/LUBBvIqu84MPUA+FZlR4fXsRXxbtA+c9WDFJ3MkOZcTORU9ZkokpksF6h2e1AjXXLNDA1pNQrkfvHdvVHwgc=","AuthPrincipalType":"SubUser","AuthPrincipalDisplayName":"2xxx4","NoPermissionType":"ImplicitDeny","AuthAction":"ecs:ModifySecurityGroupAttribute"}}
Diagnostiquer les erreurs avec un RequestId
OpenAPI Troubleshoot
Saisissez un RequestId sur la page pour interroger la chaîne d'appel, les informations de base, les données d'authentification et le contenu de la réponse de la requête. Si la requête a renvoyé une erreur, le résultat du diagnostic inclut également une solution.
Si une requête est refusée en raison d'autorisations RAM insuffisantes, récupérez le paramètre EncodedDiagnosticMessage à partir de la réponse d'erreur et appelez l'opération DecodeDiagnosticMessage pour décoder le message de diagnostic des autorisations.
Pour une erreur d'autorisation RAM insuffisante, l'onglet Solution affiche le code d'erreur (tel que Forbidden.RAM), le message d'erreur et le résultat du diagnostic des autorisations, qui comprend l'identité ayant effectué l'appel, l'action nécessitant une autorisation et les politiques système recommandées. L'onglet Log Information affiche une analyse visuelle de la chaîne d'appel, depuis l'adresse IP de l'appelant, en passant par le UserAgent et l'endpoint, jusqu'au service cloud de destination, ainsi que le code d'état HTTP.
ActionTrail
Appelez l'opération LookupEvents avec un RequestId pour interroger les détails d'un événement. Lors de l'appel à cette opération API, définissez les valeurs suivantes dans LookupAttribute :
| Parameter | Description |
| Key | Définissez sur EventId. |
| Value | Le RequestId réel. |
Appelez l'opération dans Alibaba Cloud API Workbench et définissez l'adresse du service sur la région cible, par exemple China (Chengdu). Une fois l'appel réussi (code d'état 200), le tableau Events dans le corps de la réponse JSON renvoyée contient les détails de l'événement. Le champ AccessDeniedDetail de responseElements contient des informations de diagnostic telles que PolicyType, AuthPrincipalOwnerId et EncodedDiagnosticMessage, que vous pouvez utiliser pour identifier la cause du refus d'autorisation.