Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. 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ı birkaç farklı türde ScriptEvaluationFailed
hatası verebilir. Aşağıdaki bölümlerde bu hatalardan bazıları açıklanmaktadır.
NameError
PythonScript kodunda, tanımlanmadan referans verilen veya çalıştırılan bir değişken varsa, Name (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 hata dizesi öğ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 referans verildiğini doğrulayın. Örneğin, aşağıdaki PythonScript kodu, hata dizesiyle eşleşen tanımlanmamış num3 değişkenine referansta bulunur:
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ımlı değilse 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 bir ş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 modo 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 hata dizesi öğesinden hatanın nedenini tanımlayın. Örneğin, aşağıdaki hata dizesinde PythonScript adı
myscript.py
olup hatanın nedeniinteger 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 göre bölme veya modül işlemi olup olmadığını doğrulayın. Örneğin, aşağıdaki PythonScript kodu, bölme işlemini sıfıra göre gerçekleştirir ve bu işlem hata dizesindeki değerle eşleşir:
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ölme veya modlo işleminin ikinci bağımsız değişkeninin sıfır olmadığından emin olun.
Yukarıda gösterilen örnek PythonScript ile ilgili sorunu düzeltmek için bir bölme veya modül işleminin ikinci bağımsız değişkeni olarak sıfır olmayan 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 birçok olası nedeni vardır. Daha fazla bilgi için lütfen resmi Python belgelerine göz atın.