شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
این مبحث خطاها و هشدارهایی را که ممکن است با Edge Microgateway با آنها مواجه شوید، شرح میدهد.
خطاهای عمومی برنامه
HTTP 500، خطا در مدیریت خطا رخ داد - اکثر خطاها، و همچنین برخی از خطاهایی که از اهداف برگردانده میشوند، این عدد را خواهند داشت. به طور خاص، errors-middleware.js در سراسر ماژول microgateway-core استفاده میشود. هنگام استفاده، statusCodes را با استفاده از
logger object: logger.error(err, 'failed in error handler');. برای کدهای دریافتی از اهداف بین ۱۰۰ تا ۳۰۰، errors-middleware.js statusCode را برای بازگشت به کلاینت به ۵۰۰ بازنویسی میکند.HTTP 404 - ممکن است این وضعیت را به عنوان ردیابی پشته با پیام «
no match found for [API_path_name]مشاهده کنید.
خطاها و هشدارهای ماژول
شما میتوانید از این اطلاعات برای پیکربندی هشدارهایی استفاده کنید که به شما در نظارت و مدیریت استقرار Edge Microgateway کمک میکنند.
اصطلاحات زیر که در مرجع خطا تحت عنوان «Handler» ظاهر میشوند، نحوه مدیریت خطاهای مختلف در Edge Microgateway را نشان میدهند.
- assert : معمولاً، Edge Microgateway زمانی که ارزیابی assert با شکست مواجه میشود، متوقف میشود. با این حال، ممکن است همیشه اینطور نباشد، زیرا "asserts" استثناهایی را ایجاد میکند که ممکن است دریافت شوند.
- throws : توقف احتمالی سیستم.
- callback : خطا به یک callback ارسال میشود و سیستم میتواند به کار خود ادامه دهد.
| نوع | پیام | هندلر | یادداشتها |
|---|---|---|---|
ماژول میکروگیتوی | |||
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org,"org الزامی است"); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env,"env الزامی است") |
| خطا | نام کاربری الزامی است | ادعا کردن | assert(options.username || options.token,"نام کاربری الزامی است"); |
| خطا | رمز عبور الزامی است | ادعا کردن | assert(options.password || options.token,"رمز عبور الزامی است") |
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org,"org الزامی است"); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env,"env الزامی است") |
| خطا | نام کاربری الزامی است | ادعا کردن | assert(options.username || options.token,"نام کاربری الزامی است"); |
| خطا | رمز عبور الزامی است | ادعا کردن | assert(options.password || options.token,"رمز عبور الزامی است") |
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org,"org الزامی است"); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env,"env الزامی است") |
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org,"org الزامی است"); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env,"env الزامی است") |
| خطا | نام کاربری الزامی است | ادعا کردن | assert(options.username, 'نام کاربری الزامی است'); |
| خطا | رمز عبور الزامی است | ادعا کردن | assert(options.password, 'رمز عبور الزامی است'); |
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org, 'org الزامی است'); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env, 'env مورد نیاز است'); |
| خطا | باید یک فایل هدف اختصاص داده شده داشته باشد | ادعا کردن | assert(targetFile, 'باید یک فایل هدف اختصاص داده شده داشته باشد') |
| خطا | باید کلید داشته باشد | ادعا کردن | assert(key, 'باید یک کلید داشته باشد'); |
| خطا | باید رازی داشته باشد | ادعا کردن | assert(secret, 'باید یک راز داشته باشد'); |
| خطا | dir باید پیکربندی شود | ادعا کردن | assert(dir, 'دایرکتوری باید پیکربندی شود') |
| خطا | پاسخ به تماس باید وجود داشته باشد | ادعا کردن | assert(callback, 'callback باید وجود داشته باشد') |
| خطا | نام کاربری الزامی است | ادعا کردن | assert(options.username, 'نام کاربری الزامی است'); |
| خطا | رمز عبور الزامی است | ادعا کردن | assert(options.password, 'رمز عبور الزامی است'); |
| خطا | سازمان مورد نیاز است | ادعا کردن | assert(options.org, 'org الزامی است'); |
| خطا | env مورد نیاز است | ادعا کردن | assert(options.env, 'env مورد نیاز است'); |
| خطا | runtimeUrl مورد نیاز است | ادعا کردن | assert(options.runtimeUrl, 'url مربوط به زمان اجرا الزامی است'); |
| خطا | mgmtUrl مورد نیاز است | ادعا کردن | assert(options.mgmtUrl, 'mgmtUrl الزامی است'); |
| خطا | فایل مورد نیاز است | ادعا کردن | assert(options.file,"فایل مورد نیاز است") |
| خطا | باید هدف داشته باشد | ادعا کردن | assert(options.target, 'باید target داشته باشد'); |
| خطا | افزونهها پیکربندی نشدهاند | ادعا کردن | assert(config.edgemicro.plugins, 'افزونهها پیکربندی نشدهاند'); |
| خطا | دایرکتوری افزونه وجود ندارد: + pluginDir | ادعا کردن | assert(fs.existsSync(pluginDir), 'دایرکتوری افزونه وجود ندارد: ' + pluginDir); |
| خطا | دایرکتوری افزونه یک دایرکتوری نیست: + pluginDir | ادعا کردن | assert(stat.isDirectory(), 'فایل افزونه یک دایرکتوری نیست: ' + pluginDir); |
| خطا | خطا در خواندن مسیر افزونه: + pluginDir | ادعا کردن | assert(dirs, 'خطا در خواندن مسیر افزونه:' + pluginDir); |
| خطا | باید توکن داشته باشه | ادعا کردن | assert(token, 'باید یک توکن داشته باشد'); |
| خطا | configpath نمیتواند خالی باشد | ادعا کردن | assert(config, 'مسیر پیکربندی نمیتواند خالی باشد'); |
| خطا | باید EDGEMICRO_KEY داشته باشد | ادعا کردن | assert(key, 'باید EDGEMICRO_KEY داشته باشد'); |
| خطا | باید EDGEMICRO_SECRET داشته باشد | ادعا کردن | assert(secret, 'باید EDGEMICRO_SECRET داشته باشد'); |
| خطا | پیکربندی وجود ندارد | پرتاب می کند | مربوط به فایل yaml |
| خطا | به نظر میرسد edgemicro از قبل در حال اجرا است. | خطا در کنسول | تلاش برای بازنویسی فایل .sock |
| خطا | بررسی تغییر در پیکربندی ناموفق بود. پس از آن دوباره امتحان خواهم کرد | خطا در کنسول | مشکل در ارتباط لبهای |
| خطا | اگر سرور اجرا نمیشود، ممکن است به دلیل خاموش کردن نادرست شروع قبلی باشد. | خطا در کنسول | |
| خطا | %s موجود نیست، لطفا اجرا کنید | خطا در کنسول | وارد نشده (.*)، لطفا اجرا کنید |
| خطا | بارگیری مجدد edgemicro ناموفق بود | خطا در کنسول | سطح فرماندهی |
| خطا | متوقف کردن edgemicro ناموفق بود | خطا در کنسول | سطح فرماندهی |
| خطا | «سعی کنید ' + ipcPath + ' را حذف کنید و دوباره شروع کنید» | خطا در کنسول | |
| خطا | 'پیکربندی حافظه پنهان ' + حافظه پنهان + ' وجود ندارد. در حال خروج.' | خطا در کنسول | |
| خطا | فایل پیکربندی قابل نوشتن نیست: | خطا در کنسول | پیکربندی با شکست مواجه خواهد شد |
| خطا | فایل کانفیگ دانلود نشد: | خطا در کنسول | پیکربندی با شکست مواجه خواهد شد |
| خطا | میکرو اج شروع نشد | خطا در کنسول | نباید در حال اجرا باشه |
| خطا | edgemicro اجرا نمیشود. | خطا در کنسول | فرآیند را بررسی کنید که نباید در لیست باشد |
| خطا | env مورد نیاز است | خطا در کنسول | متغیرهای محیطی مورد نیاز برای اجرا |
| خطا | خطا - ویرایش apiproxy Callout.xml | خطا در کنسول | دسترسی به فایل |
| خطا | خطا - ویرایش apiproxy default.xml | خطا در کنسول | دسترسی به فایل |
| خطا | خطا در بررسی گواهی. نصب گواهی جدید. | خطا در کنسول | کلید عمومی قابل استفاده نیست |
| خطا | خطا در بازیابی منطقه برای org | خطا در کنسول | key-gen.js، cert-lib.js و private.js |
| خطا | خطا در آپلود مدارک | خطا در کنسول | نمیتوان کلید عمومی را با Edge همگامسازی کرد |
| خطا | شکست خورده | خطا در کنسول | کلید-gen.js |
| خطا | فایل پیکربندی %s راهاندازی نشد. | خطا در کنسول | پیکربندی بارگیری نمیشود |
| خطا | پاسخ نامعتبر از API منطقه | خطا در کنسول | key-gen.js، cert-lib.js و private.js |
| خطا | کلید مورد نیاز است | خطا در کنسول | پارامتر |
| خطا | سازمان مورد نیاز است | خطا در کنسول | پارامتر |
| خطا | پورت در دسترس نیست. | خطا در کنسول | پارامتر |
| خطا | راز لازم است | خطا در کنسول | پارامتر |
| خطا | پروتکل url پشتیبانی نمیشود: | خطا در کنسول | اطلاعات پیکربندی نشان میدهد که یک پروتکل اینترنتی در محدودهی Edge Microgateway نیست. |
| خطا | مورد منفی در تأیید تحلیل: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| خطا | تأیید تجزیه و تحلیل با بار داده: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| خطا | تأیید در دسترس بودن آدرس اینترنتی بوتاسترپ: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| خطا | تأیید در دسترس بودن jwt_public_key: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| خطا | تأیید موجودی محصولات: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| خطا | تأیید سهمیه با محصولات پیکربندیشده: ناموفق | خطا در کنسول | خرابی/از کار افتادن احتمالی |
| هشدار دادن | بازیابی پیکربندی از دروازه ناموفق بود. در حال ادامه، کپی ذخیره شده را امتحان خواهم کرد.. | خطا در کنسول | |
| هشدار دادن | KVM از قبل در سازمان شما وجود دارد. | کنسول.log | |
| هشدار دادن | قبلاً مستقر شده است | کنسول.log | |
| هشدار دادن | افزونهی توالییابیشده یافت نشد: | کنسول.هشدار | |
| هشدار دادن | pluginDir %s وجود ندارد | کنسول.log | pluginDir (.*) وجود ندارد |
ماژول هسته میکروگیتوی | |||
| خطا | پیکربندی مقداردهی اولیه نشده است | ادعا کردن | assert(config, 'پیکربندی مقداردهی اولیه نشده است') |
| خطا | باید کانفیگ داشته باشه | ادعا کردن | assert(config, 'باید یک پیکربندی داشته باشد') |
| خطا | باید کانفیگ داشته باشه | ادعا کردن | assert(config, 'باید پیکربندی داشته باشد') |
| خطا | پیکربندی باید دارای شناسه کاربری (uid) باشد | ادعا کردن | assert(config.uid, 'فایل پیکربندی باید دارای شناسه کاربری باشد'); |
| خطا | باید config.edgemicro.logging در پیکربندی وجود داشته باشد | ادعا کردن | assert(logConfig, 'باید فایل config.edgemicro.logging در پیکربندی وجود داشته باشد'); |
| خطا | باید متد درخواست داشته باشد | ادعا کردن | assert(httpLibrary.request, 'باید متد درخواست داشته باشد'); |
| خطا | باید افزونه در حافظه بارگذاری شده باشد | ادعا کردن | assert(options.plugin, "باید افزونه در حافظه بارگذاری شده باشد"); |
| خطا | init باید یک تابع باشد | ادعا کردن | assert(_.isFunction(options.plugin.init), 'init باید یک تابع باشد'); |
| خطا | باید نام افزونه داشته باشد | ادعا کردن | assert(options.pluginName, "باید نام افزونه را داشته باشد"); |
| خطا | نادیده گرفتن کنترلکنندههای افزونه نامعتبر + نام | ادعا کردن | assert(_.isObject(middleware), 'نادیده گرفتن کنترلکنندههای افزونه نامعتبر ' + name); |
| خطا | گزینهها باید حاوی پیکربندی باشند | ادعا کردن | assert(config, 'گزینهها باید حاوی پیکربندی باشند') |
| خطا | افزونه باید یک نام داشته باشد | ادعا کردن | assert(name,"افزونه باید یک نام داشته باشد") |
| خطا | نام باید یک رشته باشد | ادعا کردن | assert(_.isString(name),"نام باید یک رشته باشد"); |
| خطا | افزونه باید یک تابع باشد | ادعا کردن | assert(_.isFunction(plugin),"افزونه باید یک تابع(config,logger,stats){return {onresponse:function(req,res,data,next){}}}"); باشد. |
| خطا | باید کلید داشته باشد | ادعا کردن | assert(key, 'باید یک کلید داشته باشد'); |
| خطا | باید رازی داشته باشد | ادعا کردن | assert(secret, 'باید یک راز داشته باشد'); |
| خطا | باید یک دایرکتوری پیکربندی منبع داشته باشد | ادعا کردن | assert(source, 'باید یک دایرکتوری پیکربندی منبع داشته باشد'); |
| خطا | خطا در بارگیری افزونه | خطا در کنسول | افزونه بارگذاری نشده است |
| خطا | در مدیریت خطا ناموفق بود | تماس برگشتی | تابع ()server.on در HTTP |
| خطا | طول هدر بیشتر از اندازه مجاز است | خطای HTTP | افزونه اجرا نمیشه |
| خطا | پاسخ قبل از انجام کار به پایان رسید | خطا در ثبت وقایع | افزونه تارگت اجرا نمیشود |
| خطا | کنترلکننده یک استثنا ایجاد کرد | تماس برگشتی | گرفتن خطا از افزونه (catch) |
| خطا | میکرو لبه شروع خطا | تماس برگشتی | Edge Microgateway شروع نمیشود |
| خطا | افزونه باید یک تابع باشد | پرتاب می کند | |
| هشدار دادن | خطا در کنسول | هشدار میدهد | نوشتن گزارش |
| هشدار دادن | خطای درخواست هدف | فراخوانی مدیریت خطای هدف | خطای کلاینت HTTP در ارتباط با هدف |
| هشدار دادن | خطای targetResponse | فراخوانی مدیریت خطای هدف | خطای سرور هدف HTTP در ارتباط با هدف همانطور که در کلاینت مشاهده میشود |
ماژول پیکربندی میکروگیتوی | |||
| خطا | اجازه_پیام | ادعا کردن | assert(+config.quota.allow > 0, allow_message); |
| خطا | پیکربندی وجود ندارد | پرتاب می کند | فایل پیکربندی yaml |
| خطا | پیکربندی خالی است | پرتاب می کند | فایل پیکربندی yaml |
| خطا | config یک فایل نیست | پرتاب می کند | فایل پیکربندی yaml |
| خطا | پیکربندی تعریف نشده است | ادعا کردن | assert(config, 'پیکربندی تعریف نشده است'); |
| خطا | config.analytics.batchSize نامعتبر است | ادعا کردن | assert(+config.analytics.batchSize > 0, 'config.analytics.batchSize نامعتبر است'); |
| خطا | config.analytics.batchSize یک عدد نیست | ادعا کردن | assert(typeof config.analytics.batchSize === 'عدد'، 'config.analytics.batchSize عدد نیست'); |
| خطا | config.analytics.bufferSize نامعتبر است | ادعا کردن | assert(+config.analytics.bufferSize > 0, 'config.analytics.bufferSize نامعتبر است'); |
| خطا | config.analytics.bufferSize یک عدد نیست | ادعا کردن | assert(typeof config.analytics.bufferSize === 'عدد'، 'config.analytics.bufferSize عدد نیست'); |
| خطا | config.analytics.flushInterval نامعتبر است | ادعا کردن | assert(+config.analytics.flushInterval > 0, 'config.analytics.flushInterval نامعتبر است'); |
| خطا | config.analytics.flushInterval یک عدد نیست | ادعا کردن | assert(typeof config.analytics.flushInterval === 'عدد'، 'config.analytics.flushInterval عدد نیست'); |
| خطا | config.analytics.proxy یک فایل «ساختگی» نیست | ادعا کردن | assert(config.analytics.proxy === 'dummy', 'config.analytics.proxy "dummy" نیست'); |
| خطا | config.analytics.proxy تعریف نشده است | ادعا کردن | assert(config.analytics.proxy, 'فایل config.analytics.proxy تعریف نشده است'); |
| خطا | config.analytics.proxy_revision یک عدد نیست | ادعا کردن | assert(typeof config.analytics.proxy_revision === 'عدد'، 'config.analytics.proxy_revision عدد نیست'); |
| خطا | config.analytics.proxy_revision تعریف نشده است | ادعا کردن | assert(config.analytics.proxy_revision, 'config.analytics.proxy_revision تعریف نشده است'); |
| خطا | config.analytics.source "microgateway" نیست | ادعا کردن | assert(config.analytics.source === 'microgateway', 'config.analytics.source "microgateway" نیست'); |
| خطا | config.analytics.source تعریف نشده است | ادعا کردن | assert(config.analytics.source, 'فایل config.analytics.source تعریف نشده است'); |
| خطا | config.analytics.uri یک رشته نیست | ادعا کردن | assert(typeof config.analytics.uri === 'رشته'، 'config.analytics.uri یک رشته نیست'); |
| خطا | config.analytics.uri تعریف نشده است | ادعا کردن | assert(config.analytics.uri, 'فایل config.analytics.uri تعریف نشده است'); |
| خطا | config.apikeys.public_key تعریف نشده است | ادعا کردن | assert(typeof config.apikeys.public_key === 'رشته'، 'config.apikeys.public_key تعریف نشده است'); |
| خطا | config.edge_config تعریف نشده است | ادعا کردن | assert(config.edge_config, 'config.edge_config تعریف نشده است'); |
| خطا | config.edge_config.bootstrap تعریف نشده است | ادعا کردن | assert(config.edge_config.bootstrap, 'فایل config.edge_config.bootstrap تعریف نشده است'); |
| خطا | config.edge_config.jwt_public_key تعریف نشده است | ادعا کردن | assert(config.edge_config.jwt_public_key, 'فایل config.edge_config.jwt_public_key تعریف نشده است'); |
| خطا | اگر config.edge_config.proxy_tunnel تعریف شده باشد، config.edge_config.proxy باید تعریف شود. | ادعا کردن | assert(typeof config.edge_config.proxy !== 'undefined', 'اگر config.edge_config.proxy_tunnel تعریف شده باشد، config.edge_config.proxy باید تعریف شود'); |
| خطا | config.edge_config.proxy_tunnel یک مقدار بولی نیست. | ادعا کردن | assert(typeof config.edge_config.proxy_tunnel === 'boolean', 'config.edge_config.proxy_tunnel یک متغیر بولی نیست'); |
| خطا | config.edge_config.refresh_interval یک عدد نیست | ادعا کردن | assert(typeof config.edge_config.refresh_interval === 'عدد'، 'config.edge_config.refresh_interval عدد نیست'); |
| خطا | config.edge_config.refresh_interval خیلی کوچک است (حداقل ۱ ساعت) | ادعا کردن | assert(config.edge_config.refresh_interval >= 3600000, 'config.edge_config.refresh_interval خیلی کوچک است (حداقل ۱ ساعت)'); |
| خطا | config.edge_config.retry_interval یک عدد نیست | ادعا کردن | assert(typeof config.edge_config.retry_interval === 'عدد'، 'config.edge_config.retry_interval عدد نیست'); |
| خطا | config.edge_config.retry_interval خیلی کوچک است (حداقل ۵ ثانیه) | ادعا کردن | assert(config.edge_config.retry_interval >= 5000, 'config.edge_config.retry_interval خیلی کوچک است (حداقل ۵ ثانیه)'); |
| خطا | config.edgemicro تعریف نشده است | ادعا کردن | assert(config.edgemicro, 'config.edgemicro تعریف نشده است'); |
| خطا | config.edgemicro.logging تعریف نشده است | ادعا کردن | assert(config.edgemicro.logging, 'config.edgemicro.logging تعریف نشده است'); |
| خطا | config.edgemicro.logging.dir تعریف نشده است | ادعا کردن | اگر (!config.edgemicro.logging.to_console) assert(config.edgemicro.logging.dir, 'config.edgemicro.logging.dir تعریف نشده است'); |
| خطا | config.edgemicro.logging.level تعریف نشده است | ادعا کردن | assert(config.edgemicro.logging.level, 'config.edgemicro.logging.level تعریف نشده است'); |
| خطا | config.edgemicro.max_connections یک عدد نیست | ادعا کردن | assert(typeof config.edgemicro.max_connections === 'عدد'، 'config.edgemicro.max_connections عدد نیست'); |
| خطا | config.edgemicro.max_connections تعریف نشده است | ادعا کردن | assert(config.edgemicro.max_connections, 'config.edgemicro.max_connections تعریف نشده است'); |
| خطا | config.edgemicro.plugins.sequence یک آرایه نیست | ادعا کردن | assert(Array.isArray(config.edgemicro.plugins.sequence), 'config.edgemicro.plugins.sequence یک آرایه نیست'); |
| خطا | config.edgemicro.port تعریف نشده است | ادعا کردن | assert(config.edgemicro.port, 'config.edgemicro.port تعریف نشده است'); |
| خطا | config.oauth.allowInvalidAuthorization تعریف نشده است | ادعا کردن | assert(typeof config.oauth.allowInvalidAuthorization === 'boolean', 'config.oauth.allowInvalidAuthorization تعریف نشده است'); |
| خطا | config.oauth.allowNoAuthorization تعریف نشده است | ادعا کردن | assert(typeof config.oauth.allowNoAuthorization === 'boolean', 'config.oauth.allowNoAuthorization تعریف نشده است'); |
| خطا | config.oauth.public_key تعریف نشده است | ادعا کردن | assert(typeof config.oauth.public_key === 'رشته'، 'config.oauth.public_key تعریف نشده است'); |
| خطا | config.oauthv2.public_key تعریف نشده است | ادعا کردن | assert(typeof config.oauthv2.public_key === 'رشته'، 'config.oauthv2.public_key تعریف نشده است'); |
| خطا | config.proxyes تعریف نشده است | ادعا کردن | assert(config.proxies, 'config.proxies تعریف نشده است'); |
| خطا | config.proxy[ + index + ].base_path تعریف نشده است | ادعا کردن | assert(proxy.base_path, 'config.proxy[' + index + '].base_path تعریف نشده است'); |
| خطا | config.proxy[ + index + ].max_connections یک عدد نیست | ادعا کردن | assert(typeof proxy.max_connections === 'number', 'config.proxy[' + index + '].max_connections عدد نیست'); |
| خطا | config.proxy[ + index + ].max_connections تعریف نشده است | ادعا کردن | assert(proxy.max_connections, 'config.proxy[' + index + '].max_connections تعریف نشده است'); |
| خطا | config.proxy[ + index + ].name تعریف نشده است | ادعا کردن | assert(proxy.name, 'config.proxy[' + index + '].name تعریف نشده است'); |
| خطا | config.proxy[ + index + ].proxy_name تعریف نشده است | ادعا کردن | assert(proxy.target_name, 'config.proxy[' + index + '].proxy_name تعریف نشده است'); |
| خطا | config.proxy[ + index + ].revision تعریف نشده است | ادعا کردن | assert(proxy.revision, 'config.proxy[' + index + '].revision تعریف نشده است'); |
| خطا | config.proxy[ + index + ].url تعریف نشده است | ادعا کردن | assert(proxy.url, 'config.proxy[' + index + '].url تعریف نشده است'); |
| خطا | config.quota.allow یک عدد نیست | ادعا کردن | assert(typeof config.quota.allow === 'عدد'، 'config.quota.allow عدد نیست'); |
| خطا | config.quota.allow تعریف نشده است | ادعا کردن | assert(config.quota.allow, 'config.quota.allow تعریف نشده است'); |
| خطا | config.quota.interval یک عدد نیست | ادعا کردن | assert(typeof config.quota.interval === 'عدد'، 'config.quota.interval عدد نیست'); |
| خطا | config.quota.interval تعریف نشده است | ادعا کردن | assert(config.quota.interval, 'config.quota.interval تعریف نشده است'); |
| خطا | config.spikearrest تعریف نشده است | ادعا کردن | assert(config.spikearrest, 'config.spikearrest تعریف نشده است'); |
| خطا | config.spikearrest.allow نامعتبر است | ادعا کردن | assert(+config.spikearrest.allow > 0, 'config.spikearrest.allow نامعتبر است'); |
| خطا | config.spikearrest.allow یک عدد نیست | ادعا کردن | assert(typeof config.spikearrest.allow === 'عدد'، 'config.spikearrest.allow عدد نیست'); |
| خطا | config.spikearrest.allow تعریف نشده است | ادعا کردن | assert(config.spikearrest.allow, 'config.spikearrest.allow تعریف نشده است'); |
| خطا | config.spikearrest.bufferSize نامعتبر است | ادعا کردن | assert(+config.spikearrest.bufferSize > 0, 'config.spikearrest.bufferSize نامعتبر است'); |
| خطا | config.spikearrest.bufferSize یک عدد نیست | ادعا کردن | assert(typeof config.spikearrest.bufferSize === 'number', 'config.spikearrest.bufferSize یک عدد نیست'); |
| خطا | config.spikearrest.timeUnit تعریف نشده است | ادعا کردن | assert(config.spikearrest.timeUnit, 'config.spikearrest.timeUnit تعریف نشده است'); |
| خطا | خطای بحرانی: خطا در تجزیه لیست محصولات دانلود شده | تماس برگشتی | |
| خطا | خطای بحرانی: خطا در تجزیه لیست پروکسی دانلود شده | تماس برگشتی | |
| خطا | خطای پیکربندی نادرست محصول شناسایی شد | خطا در کنسول | به دنبال آن console.warn('using old cached configuration'); |
| خطا | خطا در خواندن پیکربندی از | پرتاب می کند | فایل پیکربندی yaml |
| خطا | خطا در ذخیره پیکربندی | تماس برگشتی | فایل پیکربندی yaml |
| خطا | fatal: پیکربندی ذخیره شده در دسترس نیست، قادر به ادامه نیست | تماس برگشتی | |
| خطا | پیام_بازهای | ادعا کردن | ادعا کن(+config.quota.interval > 0, interval_message); |
| خطا | پروتکل نامعتبر برای config.edge_config.proxy (http: یا https:: + proxy_url.protocol مورد انتظار) | ادعا کردن | assert(proxy_url.protocol === 'http:' || proxy_url.protocol === 'https:', 'پروتکل نامعتبر برای config.edge_config.proxy (http: یا https: مورد انتظار): ' + proxy_url.protocol); |
| خطا | میزبان پروکسی نامعتبر برای config.edge_config.proxy | ادعا کردن | assert(proxy_url.hostname, 'میزبان پروکسی نامعتبر برای config.edge_config.proxy:' + proxy_url.hostname); |
| خطا | به نظر میرسد که edge micro پیکربندی نشده است، لطفاً به راهنمای ادمین مراجعه کنید | تماس برگشتی | نتیجه: بارگیری پیکربندی ناموفق بود |
| خطا | کلید گم شده است | ادعا کردن | assert(keys.key, 'کلید گم شده است'); |
| خطا | باید configDir داشته باشد | ادعا کردن | assert(configDir, 'باید configDir داشته باشد') |
| خطا | باید گزینه هایی داشته باشد | ادعا کردن | assert(options, 'گزینههای ضروری'); |
| خطا | باید منبع داشته باشد | ادعا کردن | assert(منبع، 'باید منبع داشته باشد') |
| خطا | باید منبعی برای بارگذاری از آن داشته باشید | ادعا کردن | assert(options.source, 'باید منبعی برای بارگذاری از آن وجود داشته باشد') |
| خطا | باید targetFile داشته باشد | ادعا کردن | assert(fileName, 'باید targetFile داشته باشد') |
| خطا | گزینهها نمیتوانند تهی باشند | ادعا کردن | assert(options, 'گزینهها نمیتوانند تهی باشند'); |
| خطا | options.keys نمیتواند تهی باشد. | ادعا کردن | assert(options.keys, 'options.keys نمیتواند تهی باشد'); |
| خطا | پیام_پورت | ادعا کردن | ادعا کن(+config.edgemicro.port < 65536, port_message); |
| خطا | محصولات باید یک آرایه باشند | ادعا کردن | assert(Array.isArray(products), 'محصولات باید یک آرایه باشند'); |
| خطا | «پروکسیهای محصول ' + محصول + ' باید یک آرایه باشند» | ادعا کردن | assert(Array.isArray(product.proxies), 'پروکسیهای محصول ' + محصول + ' باید یک آرایه باشند'); |
| خطا | راز گم شده است | ادعا کردن | assert(keys.secret, 'راز گم شده است'); |
| خطا | هدف تعیین نشده است | ادعا کردن | assert(target, 'هدف تعیین نشده است'); |
| هشدار دادن | خطا در دانلود پیکربندی، لطفا پیکربندی بوت استرپ را بررسی کنید | کنسول.هشدار | |
| هشدار دادن | دانلود jwt_public_key ناموفق بود. | کنسول.هشدار | |
| هشدار دادن | کلیدهای jwk فعال نیستند | کنسول.هشدار | |
| هشدار دادن | پیام، «دانلود از»، آدرس اینترنتی، «برگشت داده شد» | کنسول.هشدار | جستجو برای: (.*)\sdownload from\s(.*)\sreturned |
| هشدار دادن | هیچ محصول میکرو لبهای در پاسخ یافت نشد | کنسول.هشدار | |
| هشدار دادن | هیچ میکروپروکسی لبهای در سازمان یافت نشد | کنسول.هشدار | |
| هشدار دادن | هیچ میکروپروکسی لبهای در پاسخ یافت نشد | کنسول.هشدار | |
| هشدار دادن | هیچ محصولی در org یافت نشد | کنسول.هشدار | |
| هشدار دادن | هیچ محصولی در پاسخ یافت نشد | کنسول.هشدار | |
| هشدار دادن | استفاده از پیکربندی ذخیره شده قدیمی | کنسول.هشدار | |
ماژول افزونههای میکروگیتوی | |||
| خطا | پیکربندی وجود ندارد | پرتاب می کند | مربوط به فایل yaml |
| خطا | آپیکی | پاسخ HTTP | مشکلات افزونه apiky |
| خطا | باوث | پاسخ HTTP | خرابی در افزونه bauth |
| خطا | اکستاوث | پاسخ HTTP | خرابی در افزونه extauth |
| خطا | سوگند | پاسخ HTTP | خرابی در افزونه oauth |
| هشدار دادن | خطایی در پردازش تجزیه و تحلیل Apigee رخ داد. اجازه ادامه پردازش درخواست | خطا در ثبت وقایع | |
| هشدار دادن | نادیده گرفتن خطا | کنسول.هشدار | افزونههای apikeys، oauth و oauthv2 |
| هشدار دادن | خطا در تجزیه jwt: | کنسول.هشدار | |
| هشدار دادن | شیء پاسخ سوگند فاقد setHeader است | کنسول.هشدار | خطای پارامتر oauth نشان میدهد که برخی از خطاها گزارش نخواهند شد. |
| هشدار دادن | شیء پاسخ به سوگند توسط زمان اجرا ارائه نمیشود | کنسول.هشدار | خطای پارامتر oauth |
| هشدار دادن | شیء آمار سوگند توسط زمان اجرا ارائه نمیشود | کنسول.هشدار | خطای پارامتر oauth |
ماژول گره apigeetool | |||
| خطا | حذف حافظه پنهان با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | کد وضعیت از Apigee Edge در deletecache.js قرار داده شده است. برای فراخوانی مجدد، خطای ردیابی پشته با این پیام ارسال میشود: done(new Error(errMsg)); |
| خطا | حذف محصول با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | کد وضعیت از Apigee Edge در deleteproduct.js قرار داده شده است. یک خطای ردیابی پشته با این پیام به callback ارسال میشود: done(new Error(errMsg)); |
| خطا | org، api و revision همگی باید مشخص شوند! | تماس برگشتی | خطا در fetchproxy.js. پیکربندی. |
| خطا | هنگام دریافت پروکسی خطای %d دریافت شد: %j | تماس برگشتی | در fetchproxy.js اجرا شد. کد وضعیت غیر از ۲۰۰ است. |
| خطا | ایجاد برنامه با کد وضعیت %d ناموفق بود. | تماس برگشتی | در createapp.js ایجاد میشود. تمام خطاها را به عنوان خطاهای ردیابی پشته به callbackها برمیگرداند. هیچ چاپ کنسول یا ورودی لاگی ایجاد نمیکند. |
| خطا | دستور + ' با کد وضعیت %d ناموفق بود | تماس برگشتی | در command-utils.js قرار داده شده است. برای هر دستوری که تجزیه و به این ماژول ارسال شود، هر کدی غیر از ۲۰۰ یا ۲۰۱ یک پیام خطا تولید میکند. این پیام را قالببندی میکند اما چاپ نمیکند. یک خطای ردیابی پشته را به همراه پیام به callbackها ارسال میکند. |
| خطا | هنگام دریافت جریان مشترک، خطای %d دریافت شد: %s | تماس برگشتی | در fetchsharedflow.js قرار داده شده است. برای هر وضعیت HTTP که ۲۰۰ نباشد. اگر موفق شود اما نتواند فایلی را بنویسد، در کنسول مینویسد: نوشتن فایل ناموفق بود متن خطا: [stack_trace_error] |
| خطا | ایجاد KeySecret با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | در createappkey.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که ۲۰۰ یا ۲۰۱ نیستند. |
| خطا | ایجاد حافظه پنهان با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | در createcache.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که ۲۰۰ یا ۲۰۱ نیستند. |
| خطا | ایجاد محصول با کد وضعیت %d'، res.statusCode، ناموفق بود. | تماس برگشتی | در createproduct.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که 201 نیستند. اگر وضعیت HTTP 201 باشد اما پاسخ شامل خطای JSON باشد، خطای JSON به callback ارسال میشود. |
| خطا | حذف برنامه با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | در deleteapp.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که ۲۰۰ نیستند. اگر وضعیت HTTP برابر با ۲۰۰ باشد اما پاسخ شامل خطای JSON باشد، خطای JSON به callback ارسال میشود. |
| خطا | ایجاد توسعهدهنده با کد وضعیت %d'، res.statusCode، ناموفق بود. | تماس برگشتی | در createdeveloper.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که 201 نیستند. اگر وضعیت HTTP 201 باشد اما پاسخ شامل خطای JSON باشد، خطای JSON به callback ارسال میشود. |
| خطا | حذف توسعهدهنده با کد وضعیت %d'، res.statusCode ناموفق بود | تماس برگشتی | در deletedeveloper.js قرار داده شده است. برای کدهای وضعیت HTTP از Apigee Edge که ۲۰۰ نیستند. اگر وضعیت HTTP برابر با ۲۰۰ باشد اما پاسخ شامل خطای JSON باشد، خطای JSON به callback ارسال میشود. |
خطاهای افزونه
accesscontrol plug-in
This section describes the error codes and messages that are returned by the
accesscontrol plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| Not printed | Forbidden | 403 | Access control rule |
accumulate-request plug-in
This section describes the error codes and messages that are returned by the
accumulate-request plug-in with descriptions of possible causes.
No errors generated.
accumulate-resopnse plug-in
This section describes the error codes and messages that are returned by the
accumulate-response plug-in with descriptions of possible causes.
No errors generated.
analytics plug-in
This section describes the error codes and messages that are returned by the
analytics plug-in with descriptions of possible causes.
Errors encountered processing Apigee analytics are written to the Edge Microgateway log. Edge Microgateway processing continues.
apikeys plug-in
This section describes the error codes and messages that are returned by the
apikeys plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
bauth plug-in
This section describes the error codes and messages that are returned by the
bauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
cloud-foundry-route-service plug-in
This section describes the error codes and messages that are returned by the
cloud-foundry-route-service plug-in with descriptions of possible causes.
No errors generated.
cors plug-in
This section describes the error codes and messages that are returned by the
cors plug-in with descriptions of possible causes.
No errors generated.
eurekaclient plug-in
This section describes the error codes and messages that are returned by the
eurekaclient plug-in with descriptions of possible causes.
The eurekaclient plug-in throws a few console errors only, including a stack trace error on failed start and a warning about the target endpoint from Eureka not found.
extauth plug-in
This section describes the error codes and messages that are returned by the
extauth plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Request | 400 | allowNoAuthorization == false
No Authorization header in the HTTP request allowOAuthOnly == true |
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| missing_authorization | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other not categorized |
header-uppercase plug-in
This section describes the error codes and messages that are returned by the
header-uppercase plug-in with descriptions of possible causes.
No errors generated.
healthcheck plug-in
This section describes the error codes and messages that are returned by the
healthcheck plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| 503 | Too busy. No messages in HTTP or console | ||
| default | Application is not running on specified application port | 500 | All other not categorized |
invalidHeader plug-in
This section describes the error codes and messages that are returned by the
invalidHeader plug-in with descriptions of possible causes.
No errors generated.
json2xml plug-in
This section describes the error codes and messages that are returned by the
json2xml plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| default | 500 | All other not categorized |
monitor plug-in
This section describes the error codes and messages that are returned by the
monitor plug-in with descriptions of possible causes.
No errors generated.
oauth plug-in (v1)
This section describes the error codes and messages that are returned by the
oauth plug-in (v1) with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header. |
| Access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
oauthv2 plug-in
This section describes the error codes and messages that are returned by the
oauthv2 plug-in with descriptions of possible causes.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_request | Invalid Authorization Header | 400 |
|
| invalid_request | API Key Verification URL not configured | 400 | Verification API service not in header |
| access_denied | Copy service message | 403 | In response to the auth service timeout |
| invalid_token | Missing API Key header | 401 | allowAPIKeyOnly == true
Unless allowInvalidAuthorization is set |
| invalid_token | token could not be parsed | 401 | allowAPIKeyOnly == true
Bad token delivered |
| missing_authorization | Missing Authorization header | 401 | allowNoAuthorization == false
Authorization-header in HTTP allowOAuthOnly == true |
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Copy service message | 504 | In response to the auth timeout |
| default | 500 | All other uncategorized responses |
quota plug-in
This section describes the error codes and messages that are returned by the
quota plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | uri parameter must be specified | apigeequota.js | |
| throw | key parameter must be specified | apigeequota.js | |
| callback | Apigee Remote Proxy not found at: ' + self.uri + '. Check your configuration | apigeequota.js | |
| callback | HTTP error getting proxy version: %d. Check the "uri" parameter. | apigeequota.js | |
| callback | Quotas with a fixed starting time are not supported | apigeequota.js | |
| callback | Error updating remote quota: %d %s', resp.statusCode, body | apigeequota.js |
If there is an error on an entry in the product list, the product list will stop being processed.
quota-memory plug-in
This section describes the error codes and messages that are returned by the
quota-memory plug-in with descriptions of possible causes.
Defers to volos quota/apigee.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| invalid_authorization | Invalid Authorization header | 401 | allowOAuthOnly == true
Authorization-header not in HTTP |
| gateway_timeout | Not authorized to call the remote proxy. Check the "key" parameter. | 404 | In response to the auth timeout |
| default | 500 | All other not categorized | |
| throw | start time not allowed for month time units | quota.js. volos error on time format. | |
| throw | Invalid start time %s | quota.js. volos error on time format. | |
| throw | Invalid timeUnit %s | quota.js. volos error on time format. |
If there is an error on an entry in the product list, the product list will stop being processed.
spikearrest plug-in
This section describes the error codes and messages that are returned by the
spikearrest plug-in with descriptions of possible causes.
Defers to volos spikearrest/memory.
| Error | Message | HTTP status | Possible Causes |
|---|---|---|---|
| SpikeArrest engaged | 503 | Traffic spike. This is expected behavior. | |
| throw | Invalid timeUnit %s | spikearrest.js | |
| callback | key must be a string | spikearrest.js | |
| throw | %s must be a number', name | spikearrest.js |
transform-uppercase plug-in
This section describes the error codes and messages that are returned by the
transform-uppercase plug-in with descriptions of possible causes.
No errors generated.
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2026-08-27 بهوقت ساعت هماهنگ جهانی.