Tous les produits
Search
Centre de documentation

Alibaba Cloud SDK:FAQ sur le SDK pour Python

Dernière mise à jour :Aug 11, 2026

Cette rubrique répond aux questions fréquemment posées sur le SDK Alibaba Cloud pour Python afin de vous aider à améliorer votre efficacité de développement.

Prérequis

  • Python 3,7 ou version ultérieure est installé.

  • Les API Alibaba Cloud sont accessibles depuis votre réseau.

Vue d'ensemble

  • Comment gérer les erreurs liées à l'AccessKey ?

  • Que faire en cas d'échec de l'installation du SDK ?

  • Que faire si l'importation d'un module échoue et que l'erreur ModuleNotFoundError s'affiche ?

  • Que faire si une erreur survient lors de l'utilisation de l'outil Credentials ?

  • Que faire si le message d'erreur suivant s'affiche : code: 400, The input parameter"AccesskeyId" that is mandatory for processing this request is not supplied ?

  • Que faire si le message d'erreur suivant s'affiche : Tea.exceptions.TeaException: Error: SignatureDoesNotMatch.MissingHeader code: 400, The specified signed header "accept;connection;content-type;host;user-agent;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version" is not found ?

  • Que faire si le message d'erreur suivant s'affiche : Tea.exceptions.TeaException: Connection aborted ?

  • Que faire si un appel d'API expire et que le message « requests.exceptions.Timeout » ou « requests.exceptions.ConnectionError » s'affiche ?

  • Que faire si le message « -bash: python3: command not found » apparaît sous Linux ?

  • Que faire si l'erreur « Invalid parameters » ou « MissingRequiredParameter » s'affiche lors d'un appel d'API ?

  • Que faire si un appel d'API échoue et que l'erreur « Tea.exceptions.UnretryableException » s'affiche ?

  • Que faire si le message d'erreur suivant s'affiche : File "/usr/local/python3/lib/python3.6/site-packages/alibabacloud_slb20140515/client.py", line 4, in <module> from Tea.core import TeaCore ModuleNotFoundError: No module named 'Tea' ?

  • Que faire si le message d'erreur suivant s'affiche : Command "python setup.py egg_info" failed with error code 1 in xxx ?

  • Que faire si le message d'erreur suivant s'affiche : HTTPSConnectionPool(host='ocr-api.cn-hangzhou.aliyuncs.com', port=443): Max retries exceeded with url: /?Country=Vietnam (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2418)'))) ?

  • Erreurs Python de base

  • Erreurs du SDK Python

  • Problèmes et solutions

    Comment gérer les erreurs liées à l'AccessKey ?

    Problème : Le message d'erreur suivant s'affiche après l'exécution du code, indiquant que la paire d'AccessKey est mal configurée.

    • Alibaba Cloud SDK V2.0 : AttributeError: 'NoneType' object has no attribute 'get_access_key_id'.

    • Alibaba Cloud SDK V1.0 : Error:MissingParameter The input parameter "AccessKeyId" that is mandatory for processing this request is not supplied.

    Solutions :

    1. Exécutez les commandes suivantes pour vérifier la configuration des variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET.

      Linux/macOS

      echo $ALIBABA_CLOUD_ACCESS_KEY_ID
      echo $ALIBABA_CLOUD_ACCESS_KEY_SECRET

      Windows

      echo %ALIBABA_CLOUD_ACCESS_KEY_ID%
      echo %ALIBABA_CLOUD_ACCESS_KEY_SECRET%

      Si une paire d'AccessKey valide s'affiche, les variables d'environnement sont correctement configurées. Sinon, configurez-les selon vos besoins. Pour plus d'informations, consultez Configurer les variables d'environnement sous Linux, macOS et Windows.

    2. Vérifiez la présence d'erreurs liées à la paire d'AccessKey dans le code.

      Exemple de requête incorrecte :

       config = open_api_models.Config(
                  access_key_id=os.environ['yourAccessKeyID'],
                  access_key_secret=os.environ['yourAccessKeySecret']
              )

      Exemple de requête correcte :

       config = open_api_models.Config(
                 access_key_id=os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'],
                 access_key_secret=os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']
              )
      Remarque

      os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID'] et os.environ("ALIBABA_CLOUD_ACCESS_KEY_SECRET") indiquent que l'AccessKey ID et l'AccessKey secret proviennent des variables d'environnement ALIBABA_CLOUD_ACCESS_KEY_ID et ALIBABA_CLOUD_ACCESS_KEY_SECRET.

      Important

      Pour éviter tout risque de sécurité, ne saisissez pas la paire d'AccessKey directement dans le code de production.

    Que faire en cas d'échec de l'installation du SDK ?

    • Assurez-vous qu'une version valide de Python est installée, par exemple Python 3.x.

    • Ajoutez l'option --upgrade lors de l'installation du SDK via pip pour garantir l'installation de la dernière version.

    pip install --upgrade <SDK_NAME>  
    • En cas de problèmes de permissions pendant l'installation, notamment dans le répertoire système des bibliothèques Python, utilisez l'option --user pour installer le SDK dans le répertoire utilisateur.

    pip install --user <SDK_NAME>  
    • Si plusieurs versions de Python sont installées sur votre machine, installez le SDK dans la version Python utilisée. Par exemple, utilisez python3 au lieu de python dans le code et exécutez des commandes pip3.

    Que faire si l'importation d'un module échoue et que l'erreur ModuleNotFoundError s'affiche ?

    Assurez-vous que le SDK est correctement installé, puis tentez d'importer un module dans l'environnement Python.

    • Démarrez l'interpréteur Python.

    python
    • Importez un module.

    import <SDK_NAME> 

    L'absence d'erreur confirme que le SDK est correctement installé. Si l'erreur ModuleNotFoundError ou ImportError s'affiche, réinstallez le SDK.

    pip install <SDK_NAME>

    Que faire si le message d'erreur « AttributeError: 'CredentialModel' object has no attribute 'provider_name' » s'affiche ?

    Ce message indique une tentative d'accès à l'attribut provider_name inexistant de l'objet CredentialModel. Cette erreur provient généralement d'une version obsolète du package alibabacloud_credentials, entraînant une incompatibilité entre la bibliothèque de classes et les opérations d'API compilées. Causes possibles :

    • Package de dépendances obsolète : La version du package alibabacloud_credentials est antérieure à celle requise par l'attribut provider_name dans le code.

    • Conflits de dépendances : Une version incorrecte d'alibabacloud_credentials est chargée car plusieurs packages alibabacloud_credentials coexistent dans le projet.

    • Mise à jour incorrecte des dépendances : Après une mise à niveau, la dépendance n'a pas été réinstallée ou le cache n'a pas été vidé. L'ancienne version de la dépendance reste donc active.

    Solutions :

    1. Dans le fichier requirements.txt, définissez le package de dépendances alibabacloud_credentials sur la dernière version. Exemple :

      alibabacloud_credentials=1.0.1

      Exécutez la commande pip install -r requirements.txt --upgrade pour mettre à niveau le package de dépendances.

      Remarque

      Consultez ChangeLog.txt pour obtenir la liste de toutes les versions publiées d'alibabacloud_credentials.

    2. Vérifiez l'absence de conflits de dépendances.

      pip list | grep alibabacloud
      # If multiple dependency versions exist, uninstall the existing versions and install the latest version. Example: 
      pip uninstall alibabacloud_credentials
      pip install alibabacloud_credentials==1.0.1
      
    3. Videz le cache et réinstallez la dernière version.

      pip cache purge
      pip install -r requirements.txt --force-reinstall
      

    Que faire si le message d'erreur suivant s'affiche : code: 400, The input parameter"AccesskeyId" that is mandatory for processing this request is not supplied ?

    • Ce message d'erreur apparaît lorsqu'une requête envoyée à la passerelle ne contient pas d'AccessKey ID.

    • Vérifiez la configuration de votre AccessKey ID lorsque vous utilisez l'exemple de code complet téléchargé depuis OpenAPI Explorer. Configurez votre AccessKey ID et votre AccessKey secret lors de l'appel de la méthode main.

    Dans l'onglet SDK Sample d'OpenAPI Explorer, localisez accessKeyId et accessKeySecret dans la méthode main et remplacez les valeurs d'espace réservé par votre AccessKey.

    Que faire si le message d'erreur suivant s'affiche : Tea.exceptions.TeaException: Error: SignatureDoesNotMatch.MissingHeader code: 400, The specified signed header "accept;connection;content-type;host;user-agent;x-acs-action;x-acs-content-sha256;x-acs-date;x-acs-signature-nonce;x-acs-version" is not found ?

    Cette erreur survient lorsque l'en-tête Connection est défini sur close pour implémenter des connexions éphémères lors de l'appel d'un service en mode auto-signé. La méthode de signature V3 étant incompatible avec ce paramètre, une erreur se produit.

    Corrigez cette erreur en utilisant le paramètre suivant : config.signature_algorithm = 'v2'.

    Que faire si le message d'erreur suivant s'affiche : Tea.exceptions.TeaException: Connection aborted ?

    Ce message indique que l'intervalle entre les requêtes dépasse la limite autorisée. Le serveur maintient une connexion persistante pendant seulement 30 secondes, tandis que le client tente de la conserver indéfiniment. Le serveur ferme donc la connexion après 30 secondes. Toute requête initiée par le client après ce délai échoue.

    • Définissez l'en-tête Connection sur close pour utiliser des connexions éphémères.

    • Configurez un mécanisme de nouvelle tentative pour garantir qu'un appel soit initié dans les 30 secondes.

    Important

    Un mécanisme de nouvelle tentative peut entraîner des opérations multiples si une requête est envoyée et traitée plusieurs fois. Nous vous recommandons donc de configurer ce mécanisme uniquement pour les requêtes de lecture, et non pour les opérations de création, de suppression ou de modification.

    Que faire si un appel d'API expire et que le message « requests.exceptions.Timeout » ou « requests.exceptions.ConnectionError » s'affiche ?

    L'expiration d'un appel d'API peut résulter de divers facteurs. La section suivante décrit les causes courantes et les solutions correspondantes.

    Problèmes de connexion réseau

    Cause : La requête n'atteint pas le serveur en raison d'une défaillance de la connexion réseau entre le client et le serveur, ou d'une instabilité du réseau.

    Solutions :

    Exécutez la commande ping ou curl pour tester la connectivité entre votre hôte local et l'endpoint du service cloud. Par exemple, exécutez ping dysmsapi.aliyuncs.com ou curl -v https://dysmsapi.aliyuncs.com pour tester la connectivité entre votre hôte local et l'endpoint de l'API Short Message Service (SMS).

    • Si la commande expire ou ne reçoit aucune réponse, vérifiez les politiques de blocage sur votre pare-feu local ou vos routeurs.

    • Si une réponse est obtenue, spécifiez un délai d'attente approprié pour éviter les échecs de requête dus à des configurations de temporisation inadéquates. Pour plus d'informations, consultez Configurer un délai d'attente. Exemple de code :

    • # The timeout period takes effect only for requests that use RuntimeOptions.
      runtimeOptions = RuntimeOptions(
          connect_timeout=5000  # Configure the timeout period for connection requests. Unit: milliseconds.
      )
    Cause 2 : Temps de traitement de la requête prolongé

    Cause : Le temps nécessaire au traitement de la requête API dépasse le délai de lecture spécifié.

    Solution : Augmentez le délai d'attente pour la réponse de l'API. Pour plus d'informations, consultez Configurer un délai d'attente. Vous pouvez par exemple configurer le paramètre de délai de lecture pour prolonger cette durée. Exemple de code :

    # The timeout period takes effect only for requests that use RuntimeOptions.
    runtimeOptions = RuntimeOptions(
        read_timeout=10000,  # Configure the timeout period for read requests. Unit: milliseconds.
    )

    Que faire si le message « -bash: python3: command not found » apparaît sous Linux ?

    Si Python est déjà installé, ce message d'erreur peut indiquer une mauvaise configuration des liens symboliques.

    Remarque

    L'accès à un lien symbolique redirige vers le fichier cible. Par exemple, l'utilisation de Python 3 correspond concrètement à l'interpréteur Python 3,12.

    • Exécutez la commande which python3 pip3 pour vérifier la présence de liens symboliques dans le système. Le cas échéant, supprimez-les.

    rm -rf /usr/bin/python3 /usr/bin/pip3
    • Recréez les liens symboliques. Localisez le répertoire d'installation de Python, accédez au répertoire bin, puis identifiez pip3.12 et python3.12. Exécutez les commandes suivantes pour créer les liens symboliques :

    sudo ln -s /usr/local/python3/bin/python3.12 /usr/bin/python3
    sudo ln -s /usr/local/python3/bin/pip3.12 /usr/bin/pip3

    Que faire si l'erreur « Invalid parameters » ou « MissingRequiredParameter » s'affiche lors d'un appel d'API ?

    Cet exemple utilise l'opération SendSms du service Short Message Service (SMS).

    • Accédez à la page API Debugging dans OpenAPI Explorer, puis sélectionnez le produit cloud et l'API.

    • Vérifiez que tous les paramètres obligatoires, tels que PhoneNumbers et SignName, sont spécifiés dans l'objet de requête construit. Dans cet exemple, l'objet SendSmsRequest est utilisé.

    • Confirmez que tous les paramètres requis sont bien renseignés conformément à la référence de l'API.

    • Assurez-vous que les valeurs des paramètres obligatoires sont valides. Vérifiez par exemple si les numéros de téléphone mobile respectent les formats attendus.

    • Avant d'envoyer une requête API, le SDK vérifie automatiquement les paramètres. Si un ou plusieurs paramètres obligatoires manquent, une erreur telle que MissingRequiredParameter s'affiche. Par exemple, l'absence du paramètre PhoneNumbers déclenche l'erreur « MissingPhoneNumbers: code: 400 ». Renseignez alors le paramètre en suivant le message d'erreur.

    L'appel de l'API sans le paramètre de numéro de téléphone renvoie une erreur MissingPhoneNumbers: code: 400 dans la console.

    send_sms_request = dysmsapi_20170525_models.SendSmsRequest(
                # The mobile numbers to which you want to send a text message.
                phone_numbers='<YOUR_VALUE>',
                # The name of the SMS signature.
                sign_name='<YOUR_VALUE>',
                # The code of the SMS template.
                template_code='<YOUR_VALUE>',
                # The variables of the SMS template. Specify the value in the JSON format. Example: {"code":"1234","name":"1234","time":"1234"}.
                template_param='{"code":"1234","name":"1234","time":"1234"}'
            )

    Que faire si un appel d'API échoue et que l'erreur « Tea.exceptions.UnretryableException » s'affiche ?

    Assurez-vous que la région sélectionnée prend en charge le service appelé. Pour le service SMS par exemple, vous trouverez les endpoints du service sur sa page produit dans OpenAPI Explorer. Utilisez l'endpoint correspondant à votre région.

    Cliquez sur l'onglet Service Area List de la page d'accueil du produit. Utilisez les colonnes Region ID et Service Address pour trouver l'endpoint correct pour chaque région. Par exemple, l'endpoint pour le service SMS dans les régions de Chine continentale est dysmsapi.aliyuncs.com.

    Que faire si le message d'erreur suivant s'affiche : File "/usr/local/python3/lib/python3.6/site-packages/alibabacloud_slb20140515/client.py", line 4, in <module> from Tea.core import TeaCore ModuleNotFoundError: No module named 'Tea' ?

    Ce message d'erreur résulte d'une version obsolète de pip. Les dépendances installées sont alors incomplètes ou certaines dépendances spécifiques ont été supprimées. Mettez à jour pip et exécutez la commande pip install <Installation package> pour corriger cette erreur. Par exemple, exécutez pip install alibabacloud-tea pour installer le module Tea.

    Important

    Lorsque cette erreur se produit, le système peut exécuter la commande pip install tea et installer un package non pertinent. Vérifiez l'organisation ou l'individu qui publie ce package dans le référentiel Python Package Index (PyPI) et décidez s'il convient de le supprimer.

    Question 13 : Que faire si le message d'erreur suivant s'affiche : Command "python setup.py egg_info" failed with error code 1 in xxx ?

    Cette erreur survient lorsque la version de Python ou de pip est obsolète, ou lorsque les bibliothèques ou packages requis ne sont pas installés. Le SDK ne fonctionne alors pas comme prévu.

    Solution
    1. Vérifiez la version actuelle de Python.

      Exécutez la commande python -V ou python3 -V pour vérifier la version actuelle de Python. Si la version est antérieure à 3,7, suivez les étapes ci-dessous pour mettre à jour Python. Rendez-vous sur le site officiel de Python pour obtenir l'URL de téléchargement de la dernière version de Python ainsi que les instructions d'installation.

      Mettre à jour Python

      1. Installez les outils et bibliothèques requis par Python.

        sudo yum groupinstall "Development Tools" -y
        sudo yum install openssl-devel bzip2-devel libffi-devel -y
      2. Téléchargez la version Python requise depuis le site officiel de Python. Cet exemple utilise Python 3.7.12.

        sudo curl -O https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
      3. Décompressez le package d'installation.

        sudo tar xzf Python-3.7.12.tgz
      4. Compilez et installez Python.

        cd Python-3.7.12
        sudo ./configure --enable-optimizations
        sudo make altinstall
      5. Vérifiez la version de Python.

        python3.7 --version
      6. Exécutez les commandes suivantes pour mettre à jour pip pour la nouvelle version de Python :

        python3.7 -m ensurepip
        python3.7 -m pip install --upgrade pip
    2. Si la version de Python est 3,7 ou ultérieure, la cause probable est une version obsolète de pip. Exécutez la commande pip3 install --upgrade pip setuptools pour mettre à jour pip vers la dernière version, puis réessayez d'exécuter le code Python.

    3. Vérifiez et installez les bibliothèques requises.

      Si la version de Python est 3,7 ou ultérieure et que le problème persiste après la mise à jour de pip, les bibliothèques associées ne sont probablement pas installées. Dans certains cas, l'absence de bibliothèques spécifiques empêche l'installation d'autres bibliothèques. Par exemple, l'installation de numpy nécessite les bibliothèques mathématiques associées telles que blas et lapack. L'installation de lxml requiert libxml2-dev et libxslt1-dev.

      Exécutez les commandes suivantes pour installer les bibliothèques courantes. Cet exemple utilise lxml et numpy.

      sudo yum install libxml2-dev libxslt1-dev -y 
      sudo yum install blas-devel lapack-devel -y
      Remarque

      Les packages Python sont des modules ou des bibliothèques conçus pour enrichir et étendre les capacités de Python. Ils fournissent des outils et des méthodes supplémentaires pour aider les développeurs à accomplir des tâches spécifiques efficacement. Les packages nécessaires dépendent des exigences de votre projet.

    Question 14 : Que faire si le message d'erreur suivant s'affiche : HTTPSConnectionPool(host='ocr-api.cn-hangzhou.aliyuncs.com', port=443): Max retries exceeded with url: /?Country=Vietnam (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2418)')))) ?

    Dans la plupart des cas, cette erreur résulte d'un échec de la négociation SSL/TLS. Causes possibles :

    • Les versions SSL/TLS utilisées par le serveur et le client sont incompatibles.

    • Le certificat SSL sur l'appareil local contient des erreurs. Par exemple, le certificat SSL a expiré ou la chaîne de certificats est incomplète.

    • Les négociations SSL échouent en raison d'erreurs de configuration réseau.

    Solutions :
    1. Vérifiez les versions SSL/TLS : Assurez-vous que l'environnement Python sur l'appareil local prend en charge la version SSL/TLS utilisée par le serveur pour la communication. Dans certains cas, le serveur ne prend en charge que TLS 1.2.

      import ssl
      import urllib3
      # Create an SSL context that uses TLS 1.2.
      ssl_context = ssl.create_urllib3_context(ssl.OP_NO_SSLv2, ssl.OP_NO_SSLv3, ssl.OP_NO_TLSv1, ssl.OP_NO_TLSv1_1)
      # Initialize the urllib3 pool manager.
      http = urllib3.PoolManager(context=ssl_context)
      # Send the request.
      response = http.request('GET', 'https://ocr-api.cn-hangzhou.aliyuncs.com/?Country=Vietnam')
                
    2. Vérifiez les problèmes liés à l'environnement Python :

      1. Assurez-vous que le module ssl et la version de la bibliothèque urllib3 sont compatibles avec la version de Python.

      2. Utilisez un environnement virtuel pour réinstaller Python et ses dépendances.

      python -m venv myenv
      source myenv/bin/activate
      pip install requests urllib3 pyOpenSSL
    3. Vérifiez l'absence d'erreurs de configuration réseau.

      1. Assurez-vous que le pare-feu de l'appareil local autorise le trafic vers le port HTTPS (port 443).

      2. Si vous utilisez un serveur proxy, assurez-vous qu'il est configuré correctement.

      import requests
      # Use a proxy
      proxies = {
          'http': 'http://your-proxy-server:port',
          'https': 'https://your-proxy-server:port'
      }
      response = requests.get(
          'https://ocr-api.cn-hangzhou.aliyuncs.com/?Country=Vietnam',
          proxies=proxies
      )
    4. Mettez à jour les bibliothèques requests et urllib3 pour résoudre le problème.

      pip install --upgrade requests urllib3
    5. Si le problème persiste après la mise à jour, il peut provenir du certificat de l'environnement. Configurez les paramètres suivants pour ignorer le certificat et ajuster le délai d'attente :

      # Ignore certificate verification.
      runtimeOptions = RuntimeOptions(
       ignore_ssl=True # Ignores SSL certificate verification. Verification is enabled by default.
      )
      # Adjust the timeout.
      runtimeOptions = RuntimeOptions(
          read_timeout=xxx,  # Read timeout in milliseconds (ms)
          connect_timeout=xxx  # Connection timeout in milliseconds (ms)
      )
    6. Si le problème persiste après la désactivation de la vérification du certificat SSL, définissez la variable d'environnement PYTHONHTTPSVERIFY sur 0 pour désactiver la vérification du certificat SSL.

      export PYTHONHTTPSVERIFY=0  # Disable HTTPS verification.
    7. Vérifiez le certificat SSL sur la machine locale : Assurez-vous que le certificat SSL sur la machine locale est à jour et complet. Vous pouvez utiliser un outil tel que certbot pour mettre à jour et installer des certificats.

      sudo certbot certonly --standalone --rsa-key-size 4096 --agree-tos --email yo**@email.com

    Erreurs Python de base

    Message d'erreur

    Cause

    Solution

    SyntaxError

    Le code contient une erreur de syntaxe, telle qu'une faute de frappe, un deux-points manquant ou des parenthèses non appariées.

    Vérifiez le code et assurez-vous que la syntaxe est valide. Utilisez la coloration syntaxique d'un environnement de développement intégré (IDE) ou d'un éditeur pour repérer les erreurs.

    NameError

    La variable ou la fonction à utiliser n'est pas définie.

    Assurez-vous que le nom de la variable ou de la fonction est valide et qu'elle a été correctement définie ou importée dans le code.

    TypeError

    L'opération ou la fonction est incompatible avec le type de l'objet cible.

    Vérifiez les types de données dans le code et assurez-vous que l'opération ou la fonction s'applique au type de l'objet concerné. Utilisez éventuellement des fonctions de conversion de type pour résoudre l'incompatibilité.

    IndexError

    L'index spécifié n'existe pas dans la liste, le tuple ou la chaîne.

    Assurez-vous que l'index se situe dans la plage valide de l'objet. Utilisez des instructions conditionnelles ou la gestion des exceptions pour vérifier la validité d'un index, ou recourez à des fonctions intégrées telles que len().

    ValueError

    Une valeur de paramètre dans la fonction est invalide.

    Assurez-vous que les valeurs de paramètres spécifiées dans la fonction répondent aux exigences. Utilisez des instructions conditionnelles ou la gestion des exceptions pour valider les valeurs des paramètres.

    FileNotFoundError

    Le fichier à ouvrir ou à accéder n'existe pas.

    Vérifiez que le chemin de fichier spécifié est valide et confirmez l'existence du fichier. Utilisez des instructions conditionnelles ou la gestion des exceptions pour traiter l'absence de fichier.

    ZeroDivisionError

    Le diviseur est égal à zéro.

    Avant d'effectuer une division, assurez-vous que le diviseur n'est pas nul. Utilisez des instructions conditionnelles ou la gestion des exceptions pour vérifier la valeur du diviseur.

    FloatingPointError

    Un calcul en virgule flottante aboutit à un résultat infini ou non numérique (NaN).

    Assurez-vous que les valeurs impliquées dans le calcul en virgule flottante se situent dans la plage valide. Utilisez des fonctions de vérification pour confirmer leur validité et prenez les mesures appropriées en cas d'exception.

    OverflowError

    Un calcul numérique produit un résultat qui dépasse la plage de valeurs du type de données actuel.

    Vérifiez le type de données utilisé dans le calcul numérique et assurez-vous qu'il peut représenter la plage de valeurs du résultat. Pour gérer de grandes valeurs numériques, utilisez des types de données appropriés ou des bibliothèques tierces.

    BufferError

    Les données à lire ou à écrire dépassent la taille de la mémoire tampon. La mémoire tampon ciblée n'existe pas. L'opération sur la mémoire tampon entraîne une erreur de mémoire insuffisante ou de dépassement de limite.

    Vérifiez la taille de la mémoire tampon et assurez-vous que la quantité de données à lire ou à écrire ne dépasse pas cette taille. Utilisez des instructions conditionnelles ou la gestion des exceptions pour vérifier le volume de données et prendre les mesures appropriées en cas de dépassement.

    EOFError

    Un fichier vide ou la fin d'un fichier a été lu.

    Vérifiez le contenu du fichier et assurez-vous que des données peuvent y être lues. Si le fichier est vide ou si la fin du fichier est atteinte, une exception EOFError est levée. Utilisez des instructions conditionnelles ou la gestion des exceptions pour vérifier le contenu d'un fichier et prendre les mesures appropriées.

    Erreurs du SDK Python

    Message d'erreur

    Cause

    Solution

    aliyunsdkcore.acs_exception.exceptions.ClientException: SDK.InvalidParameter The parameter region_id not match with ^[a-zA-Z0-9_-]+$

    Le format du paramètre region_id pour l'initialisation du client est invalide.

    Saisissez une chaîne au format cn-<Region>.

    SDK.InvalidRegionId

    Le package core d'une version antérieure ne parvient pas à identifier l'endpoint.

    Mettez à jour le package aliyun-python-sdk-core vers la dernière version et spécifiez un ID de région valide.

    SDK.ServerUnreachable

    Une erreur réseau s'est produite.

    Dans la dernière version du SDK, cette erreur est remplacée par une erreur spécifique, telle que SDK.HttpError.

    Mettez à jour le package aliyun-python-sdk-core vers la dernière version.

    SDK.MissingEndpointsFiler

    Aucun filtre d'endpoint n'est configuré.

    Configurez un filtre d'endpoint et assurez-vous qu'il fonctionne correctement.

    SDK.UnknownServerError

    Une erreur serveur inconnue s'est produite.

    Renvoyez la requête.

    SDK.InvalidSessionExpiration

    L'heure d'expiration de la session est invalide.

    Vérifiez l'heure d'expiration de la session et assurez-vous qu'elle est valide. Si une session a expiré, mettez-la à jour ou obtenez à nouveau un identifiant de session.

    SDK.NotSupport

    La fonctionnalité n'est pas prise en charge.

    Assurez-vous que la version du SDK utilisée prend en charge les fonctionnalités requises.

    SDK.EndpointResolvingError

    Une erreur s'est produite lors de la résolution de l'endpoint.

    Vérifiez la logique de résolution des endpoints et assurez-vous que les endpoints valides peuvent être correctement résolus et obtenus.

    SDK.InvalidServerResponse

    La réponse retournée par le serveur est invalide.

    Vérifiez le contenu de la réponse retournée par le serveur et assurez-vous qu'elle répond aux exigences des services Alibaba Cloud. Consultez le contenu de la réponse pour obtenir plus d'informations et ajustez-le selon vos besoins métier.

    RequiredArgumentException

    Un ou plusieurs paramètres obligatoires ne sont pas spécifiés.

    Vérifiez les paramètres obligatoires et assurez-vous que leurs valeurs sont valides.

    UnretryableException

    Une erreur réseau s'est produite.

    1. Vérifiez si l'endpoint spécifié est valide.

    2. Exécutez la commande ping ou curl pour vérifier la connectivité réseau.

    Support technique

    Les solutions aux problèmes précédents vous aideront à mieux utiliser les SDK Alibaba Cloud. Si vous rencontrez d'autres problèmes lors de l'utilisation des SDK Alibaba Cloud, contactez le support technique Alibaba Cloud via la méthode suivante :