Crée un jeton pour un accès temporaire.
Scénarios
Un serveur d'application appelle cette opération pour demander un jeton à un courtier ApsaraMQ forMQTT, après avoir vérifié les autorisations du client ApsaraMQ forMQTT. Pour plus d'informations, consultez la rubrique Présentation de l'authentification par jeton.
Limites
Un utilisateur peut envoyer jusqu'à 100 requêtes par seconde. Pour augmenter cette limite, rejoignez le groupe DingTalk 35228338 afin de contacter l'assistance technique d'ApsaraMQ forMQTT.
Chaque appel réussi à l'opération
ApplyToken
augmente le nombre de transactions de messagerie par seconde (TPS) d'une unité. Cela impacte votre facturation. Pour plus d'informations, consultez la rubrique
.
Débogage
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
| Action | String | Oui | ApplyToken | L'opération à effectuer. Définissez la valeur sur ApplyToken. |
| Resources | String | Oui | TopicA/+ | Le nom des topics dans l'instance ApsaraMQ forMQTT. Séparez les noms de topics par des virgules (,). Chaque jeton permet de gérer jusqu'à 100 noms de topics. Les noms de topics sont triés par ordre alphabétique. Les caractères génériques MQTT, y compris les caractères génériques à niveau unique représentés par des signes plus (+) et les caractères génériques multi-niveaux représentés par des dièses (#), peuvent être utilisés pour le paramètre Resources enregistré lors de la demande de jeton. Par exemple, si vous définissez le paramètre Resources sur TopicA/+ lors de la demande de jeton, le client ApsaraMQ forMQTT peut gérer les topics de type TopicA/xxx. Si vous définissez le paramètre Resources sur TopicA/#, le client peut gérer n'importe quel niveau de topics sous TopicA/xxx/xxx/xxx. Remarque ApsaraMQ forMQTT prend en charge les sous-topics. Vous pouvez spécifier les sous-topics directement dans le code de messagerie au lieu de les configurer dans la console ApsaraMQ forMQTT. Des barres obliques (/) sont utilisées pour séparer les topics de différents niveaux. Pour plus d'informations, consultez la rubrique Termes. |
| InstanceId | String | Oui | post-cn-0pp12gl**** | L'ID de l'instance ApsaraMQ forMQTT. La valeur doit correspondre à l'ID d'instance utilisé par le client ApsaraMQ forMQTT. Vous pouvez obtenir l'ID d'instance sur la page Instance Details de la console ApsaraMQ forMQTT. |
| ExpireTime | Long | Oui | 1609434121000 | L'horodatage indiquant le moment d'expiration du jeton. Unité : millisecondes. La durée de validité minimale d'un jeton est de 60 secondes et la durée maximale est de 30 jours. Si vous définissez une durée de validité supérieure à 30 jours, aucune erreur n'est renvoyée, mais le jeton reste valide uniquement pendant 30 jours. Supposons que vous souhaitiez définir la durée de validité d'un jeton à 60 secondes. Si l'horodatage système actuel est 1609434061000, vous devez définir la valeur de ce paramètre sur 1609434121000 selon la formule suivante : 1609434061000 + 60 x 1000 = 1609434121000. |
| Actions | String | Oui | R | Le type d'autorisation du jeton. Valeurs possibles :
|
Pour plus d'informations sur les paramètres, consultez les rubriques
et
.
Paramètres de réponse
| Paramètre | Type | Exemple | Description |
| Token | String | LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng== | La valeur du jeton renvoyée par le courtier ApsaraMQ forMQTT. Remarque Ne faites aucune hypothèse concernant la longueur, le format ou la structure du jeton renvoyé. La valeur réelle renvoyée fait foi. |
| RequestId | String | 31782AAF-D0CC-44C3-ABFD-1B500276**** | L'ID de la requête. Ce paramètre est un paramètre commun. Chaque requête possède un ID unique. |
Exemples
Exemple de requête
http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=ApplyToken
&Resources=TopicA/+
&InstanceId=post-cn-0pp12gl****
&ExpireTime=1609434121000
&Actions=R
&Common request parameters
Exemple de réponse réussie
Format XML
HTTP/1.1 200 OK
Content-Type:application/xml
<ApplyTokenResponse>
<RequestId>31782AAF-D0CC-44C3-ABFD-1B500276****</RequestId>
<Token>LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng==</Token>
</ApplyTokenResponse>
Format JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "31782AAF-D0CC-44C3-ABFD-1B500276****",
"Token" : "LzMT+XLFl5s/YWJ/MlDz4t/Lq5HC1iGU1P28HAMaxYxn8aQbALNtml7QZKl9L9kPe6LqUb95tEVo+zUqOogs9+jZwDUSzsd4X4qaD3n2TrBEuMOqKkk1Xdrvu9VBQQvIYbz7MJWZDYC3DlW7gLEr33Cuj54iIhagtBi3epStJitsssWs7otY9zhKOSZxhr49G3d0bh35mwyP18EMvDas8UlzeSozsSrujNUqZXOGK0PEBSd+rWMGDJlCt6GFmJgm2JFY7PJwf/7OOSmUYIYFs5o/PuPpoTMF+hcVXMs+0yDukIMTOzG9m3t8k36PVrghFmnK6pC3Rt3mibjW****ng=="
}
Codes d'erreur
| HttpCode | Code d'erreur | Message d'erreur | Description |
| 400 | ApplyTokenOverFlow | You have applied for tokens too many times. Please try again later. | L'erreur indique que les demandes de jetons sont trop fréquentes et que le système a déclenché une limitation de débit. Réessayez ultérieurement. |
| 400 | CheckAccountInfoFailed | An error occurred while checking the account information by the STS token. | L'erreur indique que l'analyse des informations de compte du jeton Security Token Service (STS) a échoué. |
| 400 | InstancePermissionCheckFailed | An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings. | L'erreur indique que la vérification des autorisations de l'instance a échoué. Vérifiez la propriété et la politique d'autorisation de l'instance ApsaraMQ forMQTT. |
| 400 | ParameterCheckFailed | An error occurred while validating the parameters. The parameters may be missing or invalid. | L'erreur indique que la vérification du paramètre a échoué. Le paramètre est peut-être manquant ou invalide. |
| 400 | PermissionCheckFailed | An error occurred while validating the resource permissions. Please check the account that created the instance, topic, and GroupId, and check their permission settings. | L'erreur indique que la vérification des autorisations des ressources a échoué. Vérifiez les autorisations et les politiques d'autorisation de l'instance, du topic et de l'ID de groupe. |
| 400 | InvalidParameter.%s | An error occurred while validating the parameter. The parameter may be missing or invalid. | L'erreur indique que la vérification du paramètre a échoué. Le paramètre est peut-être manquant ou invalide. |
| 500 | InternalError | An error occurred while processing your request. Try again later. | L'erreur indique qu'une erreur de service backend s'est produite sur l'instance ApsaraMQ forMQTT. Réessayez. |
| 500 | SystemOverFlow | An error occurred while processing your request. Please try again. | L'erreur indique qu'une limitation de débit a été déclenchée. Réessayez. |
| 404 | ApiNotSupport | The specified API is not supported. | L'erreur indique que l'opération API n'est pas prise en charge. |
Pour la liste des codes d'erreur, consultez la rubrique Codes d'erreur de service.