Apigee Edge belgelerini görüntülüyorsunuz.
Git:
Apigee X belgeleri. bilgi
ScriptEvaluationFailed
Hata kodu
steps.script.ScriptEvaluationFailed
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Evaluation of script pythonscript_name (py) failed with reason: error_type: error_description"", "detail": { "errorcode": "steps.script.ScriptEvaluationFailed" } } }
Olası nedenler
Python Komut Dosyası politikası
birçok farklı ScriptEvaluationFailed
hatası türü döndürür. Bu hatalardan bazıları aşağıdaki bölümlerde açıklanmıştır.
NameError
PythonScript kodunda tanımlanmadan başvurulan veya çalıştırılan bir değişken varsa Ad hatası alırsınız.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Evaluation of script pythonscript_name (py) failed with reason: "NameError: variable_name is not defined"", "detail": { "errorcode": "steps.script.ScriptEvaluationFailed" } } }
Örnek hata yanıtı gövdesi
{ "fault": { "faultstring": "Evaluation of script myscript.py (py) failed with reason: "NameError: 'num3' is not defined"", "detail": { "errorcode": "steps.script.ScriptEvaluationFailed" } } }
Teşhis
PythonScript politikasını ve hata yanıtının faultstring öğesinden tanımlanmamış değişken adını tanımlayın. Örneğin, aşağıdaki hata dizesinde PythonScript adı
myscript.py
ve tanımlanmamış değişken adı num3'tür:"faultstring": "Evaluation of script myscript.py (py) failed with reason: "NameError: 'num3' is not defined""
Yukarıdaki 1. adımda tanımlanan PythonScript kaynak dosyasını inceleyin ve yukarıdaki 1. adımda tanımlanan tanımlanmamış değişkene atılıp atılmadığını doğrulayın. Örneğin, aşağıdaki PythonScript kodu, hata dizesiyle eşleşen tanımlanmamış num3 değişkenine başvuruyor:
num1 = 1.5 num2 = 6.3 sum = float(num1) + float(num3) print('The sum of {0} and {1} is {2}'.format(num1, num3 sum))
Belirli bir değişkenin PythonScript kodunda tanımlanıp tanımlanmadığını kontrol edin. Değişken tanımlanmamışsa hatanın nedeni budur.
Yukarıda gösterilen örnek komut dosyasında, num3 değişkeni tanımsızdır. Bu nedenle aşağıdaki hatayı alırsınız:
"faultstring": "Evaluation of script myscript.py (py) failed with reason: "NameError: 'num3' is not defined""
Çözünürlük
PythonScript kodunda başvurulan tüm değişkenlerin doğru şekilde tanımlandığından emin olun.
Yukarıda gösterilen örnek PythonScript ile ilgili sorunu düzeltmek için, kullanmadan önce num3 değişkenini tanımlayın. Örneğin:
num1 = 1.5 num2 = 6.3 num3 = 8.7 sum = float(num1) + float(num3) print('The sum of {0} and {1} is {2}'.format(num1, num3, sum))
ZeroDivisionError
Bu hata, bir bölme veya modül işleminin ikinci bağımsız değişkeni sıfır olduğunda ortaya çıkar.
Hata yanıtı gövdesi
{ "fault": { "faultstring": "Evaluation of script pythonscript_name (py) failed with reason: "ZeroDivisionError: reason_for_error"", "detail": { "errorcode": "steps.script.ScriptEvaluationFailed" } } }
Örnek hata yanıtı gövdesi
{ "fault": { "faultstring": "Evaluation of script myscript.py (py) failed with reason: "ZeroDivisionError: integer division or modulo by zero"", "detail": { "errorcode": "steps.script.ScriptEvaluationFailed" } } }
Teşhis
PythonScript politika adını ve hata yanıtının faultstring öğesindeki hatanın nedenini tanımlayın. Örneğin, aşağıdaki hata dizesinde PythonScript adı
myscript.py
, hatanın nedeni iseinteger division or modulo by zero
şeklindedir:"faultstring": "Evaluation of script myscript.py (py) failed with reason: "ZeroDivisionError: integer division or modulo by zero""
Yukarıdaki 1. adımda tanımlanan PythonScript kaynak dosyasını inceleyin ve sıfıra bölme veya modülüs işlemi olup olmadığını doğrulayın. Örneğin, aşağıdaki PythonScript kodu, hata dizesindeki değerle eşleşen, sıfıra bölme işlemi gerçekleştirir:
a = 0 b = 5 c = b/a print c
Yukarıda gösterilen örnek komut dosyasında, bölme işleminin ikinci bağımsız değişkeni sıfır olduğu için aşağıdaki hatayı alırsınız:
"faultstring": "Evaluation of script myscript.py (py) failed with reason: "ZeroDivisionError: integer division or modulo by zero""
Çözünürlük
PythonScript'te bir bölüm veya modül işlemiyle ilgili ikinci bağımsız değişkenin sıfır olmadığından emin olun.
Yukarıda gösterilen örnek PythonScript ile ilgili sorunu düzeltmek için bir bölüm veya modül işleminin ikinci bağımsız değişkeni olarak sıfır dışında bir değer kullanın. Örneğin:
a = 3 b = 5 c = b/a print c
Daha Fazla Bilgi
steps.script.ScriptEvaluationFailed
hatasının, yukarıda açıklananların dışında daha birçok olası nedeni vardır. Daha fazla bilgi için lütfen resmi Python dokümanlarına göz atın.