দীর্ঘস্থায়ী ক্রিয়াকলাপ পরিচালনা করুন

দীর্ঘমেয়াদী অপারেশন (LRO) হল এমন একটি API পদ্ধতি যা API প্রতিক্রিয়ার জন্য উপযুক্ত সময়ের চেয়ে সম্পূর্ণ হতে বেশি সময় নেয়। সাধারণত, কাজটি চলাকালীন কলিং থ্রেডটি খোলা রাখা উচিত নয় কারণ এটি ব্যবহারকারীর অভিজ্ঞতা খারাপ করে। পরিবর্তে, ব্যবহারকারীকে কিছু ধরণের প্রতিশ্রুতি ফিরিয়ে দেওয়া এবং পরে তাদের আবার পরীক্ষা করার অনুমতি দেওয়া ভাল।

ড্রাইভ এপিআই অথবা এর ক্লায়েন্ট লাইব্রেরির মাধ্যমে ফাইলের কন্টেন্ট ডাউনলোড করার জন্য files রিসোর্সে download পদ্ধতিটি কল করার সময় গুগল ড্রাইভ এপিআই একটি LRO প্রদান করে।

এই পদ্ধতিটি ক্লায়েন্টকে একটি operations রিসোর্স ফেরত দেয়। আপনি get মেথডের মাধ্যমে অপারেশনটি পোল করে API পদ্ধতির স্থিতি অ্যাসিঙ্ক্রোনাসভাবে পুনরুদ্ধার করতে operations রিসোর্স ব্যবহার করতে পারেন। ড্রাইভ API-তে LRO গুলি Google Cloud LRO ডিজাইন প্যাটার্ন মেনে চলে।

আরও তথ্যের জন্য, দীর্ঘমেয়াদী কার্যক্রম দেখুন।

প্রক্রিয়ার সারসংক্ষেপ

নিচের চিত্রটি file.download পদ্ধতি কীভাবে কাজ করে তার উচ্চ-স্তরের ধাপগুলি দেখায়।

file.download পদ্ধতির জন্য উচ্চ-স্তরের পদক্ষেপ।
চিত্র ১. file.download পদ্ধতির জন্য উচ্চ-স্তরের ধাপ।

  1. files.download কল করুন : যখন আপনার অ্যাপ download পদ্ধতিতে কল করে, তখন এটি ফাইলটির জন্য Drive API ডাউনলোড অনুরোধ চালু করে। আরও তথ্যের জন্য, Download files দেখুন।

  2. অনুরোধের অনুমতি : অনুরোধটি ড্রাইভ এপিআই-তে প্রমাণীকরণের শংসাপত্র পাঠায়। যদি আপনার অ্যাপের জন্য এমন কোনও ব্যবহারকারীর প্রমাণীকরণ ব্যবহার করে ড্রাইভ এপিআই কল করার প্রয়োজন হয় যা এখনও মঞ্জুর করা হয়নি, তাহলে এটি ব্যবহারকারীকে সাইন ইন করতে অনুরোধ করে। আপনার অ্যাপটি প্রমাণীকরণ সেট আপ করার সময় আপনার নির্দিষ্ট করা স্কোপগুলির সাথে অ্যাক্সেসের জন্যও অনুরোধ করে।

  3. ডাউনলোড শুরু করুন : ফাইল ডাউনলোড শুরু করার জন্য একটি ড্রাইভ API অনুরোধ করা হয়। অনুরোধটি Google Vids বা অন্য কোনও Google Workspace কন্টেন্টে করা যেতে পারে।

  4. LRO শুরু করুন : একটি দীর্ঘমেয়াদী অপারেশন শুরু হয় এবং এটি ডাউনলোড প্রক্রিয়া পরিচালনা করে।

  5. মুলতুবি থাকা অপারেশন ফেরত দিন : ড্রাইভ এপিআই একটি মুলতুবি থাকা অপারেশন ফেরত দেয় যাতে অনুরোধকারী ব্যবহারকারীর তথ্য এবং বেশ কয়েকটি ফাইল মেটাডেটা ক্ষেত্র থাকে।

  6. প্রাথমিক মুলতুবি অবস্থা : আপনার অ্যাপটি done=null এর প্রাথমিক মুলতুবি অবস্থা সহ মুলতুবি অপারেশনটি পাবে। এর অর্থ হল ফাইলটি এখনও ডাউনলোডের জন্য প্রস্তুত নয় এবং অপারেশনের অবস্থা মুলতুবি রয়েছে।

  7. operations.get এ কল করুন এবং ফলাফল যাচাই করুন : আপনার অ্যাপটি প্রস্তাবিত বিরতিতে get কল করে অপারেশনের ফলাফল পোল করে এবং দীর্ঘমেয়াদী অপারেশনের সর্বশেষ অবস্থা পায়। যদি done=false এর মুলতুবি অবস্থা ফিরে আসে, তাহলে আপনার অ্যাপটিকে অপারেশনটি সম্পূর্ণ অবস্থা ( done=true ) না ফেরানো পর্যন্ত পোলিং চালিয়ে যেতে হবে। বড় ফাইলের জন্য, একাধিকবার পোল করার আশা করুন। আরও তথ্যের জন্য, দীর্ঘমেয়াদী অপারেশন সম্পর্কে বিস্তারিত তথ্য পান দেখুন।

  8. মুলতুবি অবস্থা পরীক্ষা করুন : যদি LRO থেকে done=true এর মুলতুবি অবস্থা ফেরত পাঠানো হয়, তাহলে এর অর্থ হল ফাইলটি ডাউনলোডের জন্য প্রস্তুত এবং অপারেশনের অবস্থা সম্পূর্ণ।

  9. ডাউনলোড URI সহ সম্পূর্ণ অপারেশন ফেরত দিন : LRO সম্পন্ন হয়ে গেলে, ড্রাইভ API ডাউনলোড URI ফেরত দেয় এবং ফাইলটি এখন ব্যবহারকারীর জন্য উপলব্ধ।

ফাইল ডাউনলোড করুন

দীর্ঘমেয়াদী অপারেশনের অধীনে কন্টেন্ট ডাউনলোড করতে, files রিসোর্সে download পদ্ধতিটি ব্যবহার করুন। পদ্ধতিটি file_id , mime_type , এবং revision_id এর প্যারামিটারগুলি নেয়:

  • প্রয়োজনীয়। file_id পাথ প্যারামিটার হল ডাউনলোড করা ফাইলের আইডি।

  • ঐচ্ছিক। mime_type কোয়েরি প্যারামিটারটি পদ্ধতিটি যে MIME প্রকারটি ব্যবহার করবে তা নির্দেশ করে। এটি শুধুমাত্র নন-ব্লব মিডিয়া কন্টেন্ট (যেমন Google Workspace ডকুমেন্ট) ডাউনলোড করার সময় উপলব্ধ। সমর্থিত MIME প্রকারের সম্পূর্ণ তালিকার জন্য, Google Workspace ডকুমেন্টের জন্য MIME প্রকারগুলি রপ্তানি করুন দেখুন।

    যদি MIME টাইপ সেট না করা থাকে, তাহলে Google Workspace ডকুমেন্টটি একটি ডিফল্ট MIME টাইপ দিয়ে ডাউনলোড করা হয়। আরও তথ্যের জন্য, ডিফল্ট MIME টাইপ দেখুন।

  • ঐচ্ছিক। revision_id কোয়েরি প্যারামিটার হল ডাউনলোড করার জন্য ফাইলটির রিভিশন আইডি। এটি শুধুমাত্র blob ফাইল, Google Docs এবং Google Sheets ডাউনলোড করার সময় উপলব্ধ। অসমর্থিত ফাইলগুলিতে একটি নির্দিষ্ট রিভিশন ডাউনলোড করার সময় ত্রুটি কোড INVALID_ARGUMENT ফেরত দেয়।

MP4 ফরম্যাটে Vids ফাইল ডাউনলোড করার একমাত্র উপায় হল download পদ্ধতি এবং সাধারণত বেশিরভাগ ভিডিও ফাইল ডাউনলোড করার জন্য এটি সবচেয়ে উপযুক্ত।

গুগল ডক্স বা শিটের জন্য তৈরি ডাউনলোড লিঙ্কগুলি প্রথমে একটি পুনঃনির্দেশনা প্রদান করে। ফাইলটি ডাউনলোড করতে নতুন লিঙ্কে ক্লিক করুন।

LRO শুরু করে এমন download পদ্ধতির অনুরোধ এবং চূড়ান্ত ডাউনলোড URI আনার অনুরোধ, উভয় ক্ষেত্রেই রিসোর্স কী ব্যবহার করা উচিত। আরও তথ্যের জন্য, রিসোর্স কী ব্যবহার করে লিঙ্ক-শেয়ারড ড্রাইভ ফাইল অ্যাক্সেস করুন দেখুন।

অনুরোধ প্রোটোকলটি এখানে দেখানো হয়েছে।

POST https://www.googleapis.com/drive/v3/files/{FILE_ID}/download

আপনি যে ফাইলটি ডাউনলোড করতে চান তার fileId দিয়ে FILE_ID প্রতিস্থাপন করুন।

ডিফল্ট MIME প্রকারগুলি

যদি নন-ব্লব কন্টেন্ট ডাউনলোড করার সময় MIME টাইপ সেট না করা থাকে, তাহলে নিম্নলিখিত ডিফল্ট MIME টাইপগুলি বরাদ্দ করা হয়:

নথির ধরণ বিন্যাস MIME টাইপ ফাইল এক্সটেনশন
গুগল অ্যাপস স্ক্রিপ্ট JSON সম্পর্কে অ্যাপ্লিকেশন/vnd.google-apps.script+json .json সম্পর্কে
গুগল ডক্স মাইক্রোসফট ওয়ার্ড অ্যাপ্লিকেশন/vnd.openxmlformats-officedocument.wordprocessingml.document .ডকএক্স
গুগল অঙ্কন পিএনজি ছবি/পিএনজি .পিএনজি
গুগল ফর্ম জিপ অ্যাপ্লিকেশন/জিপ .জিপ
গুগল শিটস মাইক্রোসফট এক্সেল আবেদন/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx সম্পর্কে
গুগল সাইট কাঁচা লেখা টেক্সট/কাঁচা .txt
গুগল স্লাইডস মাইক্রোসফট পাওয়ারপয়েন্ট আবেদন/vnd.openxmlformats-officedocument.presentationml.presentation .pptx সম্পর্কে
গুগল ভিডিও এমপি৪ অ্যাপ্লিকেশন/এমপি৪ .mp4 এর বিবরণ
জ্যামবোর্ড পিডিএফ আবেদন/পিডিএফ .পিডিএফ

ডাউনলোড প্রতিক্রিয়া

download পদ্ধতিতে কল করার সময়, রেসপন্স বডিতে একটি রিসোর্স থাকে যা দীর্ঘমেয়াদী অপারেশনের প্রতিনিধিত্ব করে। পদ্ধতিটি সাধারণত ফাইলের বিষয়বস্তু ডাউনলোড করার জন্য একটি লিঙ্ক প্রদান করে।

{
  "done": true,
  "metadata": {
    "@type": "type.googleapis.com/google.apps.drive.v3.DownloadFileMetadata",
    "resourceKey": "RESOURCE_KEY"
  },
  "name": "NAME",
  "response": {
    "@type";: "type.googleapis.com/google.apps.drive.v3.DownloadFileResponse",
    "downloadUri": "DOWNLOAD_URI",
    "partialDownloadAllowed": false
  }
}

এই আউটপুটে নিম্নলিখিত মানগুলি অন্তর্ভুক্ত রয়েছে:

মনে রাখবেন যে partialDownloadAllowed ফিল্ডটি নির্দেশ করে যে আংশিক ডাউনলোড অনুমোদিত কিনা এবং blob ফাইলের কন্টেন্ট ডাউনলোড করার সময় এটি true

দীর্ঘমেয়াদী অপারেশন সম্পর্কে বিস্তারিত জানুন

দীর্ঘমেয়াদী অপারেশন হল মেথড কল যা সম্পূর্ণ হতে যথেষ্ট সময় নিতে পারে। সাধারণত, নতুন তৈরি করা ডাউনলোড অপারেশনগুলি প্রাথমিকভাবে একটি মুলতুবি অবস্থায় ( done=null ) ফেরত পাঠানো হয়, বিশেষ করে Vids ফাইলের জন্য।

আপনি ড্রাইভ API-এর সরবরাহিত operations রিসোর্স ব্যবহার করে সার্ভার-নির্ধারিত অনন্য নাম অন্তর্ভুক্ত করে প্রক্রিয়াকরণ LRO-এর স্থিতি পরীক্ষা করতে পারেন।

get পদ্ধতিটি দীর্ঘমেয়াদী অপারেশনের সর্বশেষ অবস্থা অ্যাসিঙ্ক্রোনাসভাবে পায়। ক্লায়েন্টরা API পরিষেবা দ্বারা সুপারিশকৃত বিরতিতে অপারেশন ফলাফল পোল করার জন্য এই পদ্ধতিটি ব্যবহার করতে পারেন।

একটি দীর্ঘমেয়াদী অপারেশনের জরিপ করুন

একটি উপলব্ধ LRO পোল করতে, অপারেশন শেষ না হওয়া পর্যন্ত বারবার get পদ্ধতিতে কল করুন। প্রতিটি পোল অনুরোধের মধ্যে একটি সূচকীয় ব্যাকঅফ ব্যবহার করুন, যেমন 10 সেকেন্ড।

একটি LRO কমপক্ষে ১২ ঘন্টার জন্য উপলব্ধ থাকে তবে কিছু ক্ষেত্রে আরও বেশি সময় ধরে চলতে পারে। এই সময়কাল পরিবর্তন সাপেক্ষে এবং ফাইলের ধরণ অনুসারে ভিন্ন হতে পারে। রিসোর্সের মেয়াদ শেষ হয়ে গেলে একটি নতুন download পদ্ধতির অনুরোধ করা প্রয়োজন।

যেকোনো অনুরোধ get হলে রিসোর্স কী ব্যবহার করা উচিত। আরও তথ্যের জন্য, রিসোর্স কী ব্যবহার করে লিঙ্ক-শেয়ারড ড্রাইভ ফাইল অ্যাক্সেস করুন দেখুন।

অনুরোধ প্রোটোকলগুলি এখানে দেখানো হয়েছে।

পদ্ধতি কল

operations.get(name='NAME');

download পদ্ধতির অনুরোধের প্রতিক্রিয়ায় দেখানো অপারেশনের সার্ভার-নির্ধারিত নাম দিয়ে NAME প্রতিস্থাপন করুন।

কার্ল করা

curl -i -H \
      'Authorization: Bearer $(gcloud auth print-access-token)" \
      'https://googleapis.com/drive/v3/operations/NAME?alt=json'

download পদ্ধতির অনুরোধের প্রতিক্রিয়ায় দেখানো অপারেশনের সার্ভার-নির্ধারিত নাম দিয়ে NAME প্রতিস্থাপন করুন।

কমান্ডটি /drive/v3/operations/ NAME পাথ ব্যবহার করে।

মনে রাখবেন যে name শুধুমাত্র download অনুরোধের প্রতিক্রিয়ায় ফেরত পাঠানো হয়। ড্রাইভ API list পদ্ধতি সমর্থন করে না বলে এটি পুনরুদ্ধার করার অন্য কোনও উপায় নেই। যদি name মান হারিয়ে যায়, তাহলে আপনাকে আবার download পদ্ধতি অনুরোধে কল করে একটি নতুন প্রতিক্রিয়া তৈরি করতে হবে।

একটি get অনুরোধের প্রতিক্রিয়ায় একটি দীর্ঘমেয়াদী ক্রিয়াকলাপের প্রতিনিধিত্বকারী একটি সংস্থান থাকে। আরও তথ্যের জন্য, ডাউনলোড প্রতিক্রিয়া দেখুন।

যখন প্রতিক্রিয়াটিতে একটি সম্পূর্ণ অবস্থা ( done=true ) থাকে, তখন দীর্ঘমেয়াদী ক্রিয়াকলাপটি সমাপ্ত হয়।

একটি সংস্করণ ডাউনলোড করুন

আপনি সর্বশেষ সংস্করণটি ডাউনলোড করতে files রিসোর্স থেকে headRevisionId ক্ষেত্রের মান ব্যবহার করতে পারেন। এটি আপনার পূর্বে পুনরুদ্ধার করা ফাইলের মেটাডেটার সাথে সম্পর্কিত সংস্করণটি আনবে। ক্লাউডে এখনও সংরক্ষিত ফাইলের সমস্ত পূর্ববর্তী সংস্করণের ডেটা ডাউনলোড করতে, আপনি fileId প্যারামিটার ব্যবহার করে revisions রিসোর্সে list পদ্ধতিটি কল করতে পারেন। এটি ফাইলের সমস্ত revisionIds ফেরত পাঠায়।

ব্লব ফাইলের রিভিশন কন্টেন্ট ডাউনলোড করার জন্য, আপনাকে ডাউনলোড করার জন্য ফাইলের আইডি, রিভিশনের আইডি এবং alt=media URL প্যারামিটার সহ revisions রিসোর্সে get পদ্ধতিতে কল করতে হবে। alt=media URL প্যারামিটার সার্ভারকে বলে যে একটি বিকল্প প্রতিক্রিয়া ফর্ম্যাট হিসাবে একটি কন্টেন্ট ডাউনলোডের অনুরোধ করা হচ্ছে।

alt=media URL ব্যবহার করে get পদ্ধতি ব্যবহার করে Google Docs, Sheets, Slides এবং Videos এর রিভিশন ডাউনলোড করা যাবে না। অন্যথায়, এটি একটি fileNotDownloadable ত্রুটি তৈরি করে।

alt=media URL প্যারামিটার হল একটি সিস্টেম প্যারামিটার যা সমস্ত Google REST API তে উপলব্ধ। আপনি যদি ড্রাইভ API এর জন্য একটি ক্লায়েন্ট লাইব্রেরি ব্যবহার করেন, তাহলে আপনাকে এই প্যারামিটারটি স্পষ্টভাবে সেট করার প্রয়োজন নেই।

অনুরোধ প্রোটোকলটি এখানে দেখানো হয়েছে।

GET https://www.googleapis.com/drive/v3/files/{FILE_ID}/revisions/{REVISION_ID}?alt=media

নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

  • FILE_ID : আপনি যে ফাইলটি ডাউনলোড করতে চান তার fileId
  • REVISION_ID : আপনি যে সংস্করণটি ডাউনলোড করতে চান তার revisionId

গুগল ডক্স, অঙ্কন এবং স্লাইডস রিভিশনগুলি রিভিশন নম্বরগুলিকে স্বয়ংক্রিয়ভাবে বৃদ্ধি করে। তবে, রিভিশনগুলি মুছে ফেলা হলে সংখ্যার সিরিজে ফাঁক থাকতে পারে, তাই রিভিশনগুলি পুনরুদ্ধার করার জন্য আপনার ক্রমিক সংখ্যার উপর নির্ভর করা উচিত নয়।

LRO গুলির সমস্যা সমাধান করুন

যখন একটি LRO ব্যর্থ হয়, তখন এর প্রতিক্রিয়ায় একটি ক্যানোনিকাল Google ক্লাউড ত্রুটি কোড অন্তর্ভুক্ত থাকে।

নিম্নলিখিত টেবিলে প্রতিটি ত্রুটি কোড, ম্যাপ করা HTTP স্ট্যাটাস কোড, একটি বিবরণ এবং ত্রুটি কোডটি কীভাবে পরিচালনা করতে হবে তার একটি সুপারিশ দেখানো হয়েছে। অনেক ত্রুটির জন্য, সুপারিশকৃত পদক্ষেপ হল এক্সপোনেনশিয়াল ব্যাকঅফ ব্যবহার করে আবার অনুরোধটি চেষ্টা করা।

এই ত্রুটি মডেল এবং এটির সাথে কীভাবে কাজ করবেন সে সম্পর্কে আপনি API ডিজাইন গাইডে আরও পড়তে পারেন।

কোড এনাম HTTP স্ট্যাটাস কোড বিবরণ প্রস্তাবিত পদক্ষেপ
CANCELLED 499 Client Closed Request অপারেশনটি বাতিল করা হয়েছিল, সাধারণত কলকারীর দ্বারা। অপারেশনটি পুনরায় চালান।
UNKNOWN 500 Internal Server Error এই ত্রুটিটি তখনই ফিরে আসতে পারে যখন অন্য ঠিকানা স্থান থেকে প্রাপ্ত একটি Status মান এমন একটি ত্রুটি স্থানের অন্তর্গত যা এই ঠিকানা স্থানের মধ্যে অজানা। যদি API ত্রুটি পর্যাপ্ত তথ্য না দেয়, তাহলে ত্রুটিটি এই ত্রুটিতে রূপান্তরিত হতে পারে। সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।
INVALID_ARGUMENT 400 Bad Request ক্লায়েন্ট একটি অবৈধ আর্গুমেন্ট নির্দিষ্ট করেছে। এই ত্রুটিটি FAILED_PRECONDITION থেকে আলাদা। INVALID_ARGUMENT এমন আর্গুমেন্ট নির্দেশ করে যা সিস্টেমের অবস্থা নির্বিশেষে সমস্যাযুক্ত, যেমন একটি ত্রুটিপূর্ণ ফাইলের নাম। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
DEADLINE_EXCEEDED 504 Gateway Timeout অপারেশনটি সম্পূর্ণ হওয়ার আগেই সময়সীমা শেষ হয়ে গেছে। সিস্টেমের অবস্থা পরিবর্তনকারী অপারেশনগুলির জন্য, অপারেশনটি সফলভাবে সম্পন্ন হলেও এই ত্রুটিটি ফিরে আসতে পারে। উদাহরণস্বরূপ, একটি সার্ভার থেকে একটি সফল প্রতিক্রিয়া সময়সীমা শেষ হওয়ার জন্য যথেষ্ট বিলম্বিত হতে পারে। সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।
NOT_FOUND 404 Not Found কিছু অনুরোধকৃত সত্তা, যেমন একটি FHIR রিসোর্স, পাওয়া যায়নি। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
ALREADY_EXISTS 409 Conflict একজন ক্লায়েন্ট যে সত্তা তৈরি করার চেষ্টা করেছিলেন, যেমন একটি DICOM ইনস্ট্যান্স, ইতিমধ্যেই বিদ্যমান। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
PERMISSION_DENIED 403 Forbidden কলকারীর নির্দিষ্ট ক্রিয়াকলাপটি সম্পাদন করার অনুমতি নেই। এই ত্রুটি কোডটি বোঝায় না যে অনুরোধটি বৈধ, অনুরোধকৃত সত্তা বিদ্যমান, অথবা এটি অন্যান্য পূর্বশর্ত পূরণ করে। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
RESOURCE_EXHAUSTED 429 Too Many Requests কিছু সম্পদ শেষ হয়ে গেছে, যেমন প্রতি প্রকল্পের কোটা। সূচকীয় ব্যাকঅফ দিয়ে আবার চেষ্টা করুন। সময়ের সাথে সাথে কোটা উপলব্ধ হতে পারে।
FAILED_PRECONDITION 400 Bad Request অপারেশনটি বাতিল করা হয়েছে কারণ সিস্টেমটি অপারেশনটি সম্পাদনের জন্য প্রয়োজনীয় অবস্থায় নেই। উদাহরণস্বরূপ, যে ডিরেক্টরিটি মুছে ফেলা হবে তা খালি নেই, অথবা একটি rmdir অপারেশন একটি নন-ডিরেক্টরিতে প্রয়োগ করা হয়েছে। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
১০ ABORTED 409 Conflict অপারেশনটি বাতিল করা হয়েছিল, সাধারণত সিকোয়েন্সার চেক ব্যর্থতা বা লেনদেন বাতিলের মতো একটি কনকারেন্সি সমস্যার কারণে। সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।
১১ OUT_OF_RANGE 400 Bad Request বৈধ পরিসর অতিক্রম করে অপারেশনটি করার চেষ্টা করা হয়েছিল, যেমন ফাইলের শেষের দিকে খোঁজা বা পড়া। INVALID_ARGUMENT বিপরীতে, এই ত্রুটিটি এমন একটি সমস্যা নির্দেশ করে যা সিস্টেমের অবস্থা পরিবর্তন হলে ঠিক করা যেতে পারে। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।
১২ UNIMPLEMENTED 501 Not Implemented ড্রাইভ API-তে অপারেশনটি বাস্তবায়িত হয়নি অথবা সমর্থিত/সক্রিয় নয়। আবার চেষ্টা করো না।
১৩ INTERNAL 500 Internal Server Error অভ্যন্তরীণ ত্রুটি। এটি নির্দেশ করে যে অন্তর্নিহিত সিস্টেমে প্রক্রিয়াকরণের সময় একটি অপ্রত্যাশিত ত্রুটির সম্মুখীন হয়েছে। সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।
১৪ UNAVAILABLE 503 Service Unavailable ড্রাইভ এপিআই অনুপলব্ধ। এটি সম্ভবত একটি ক্ষণস্থায়ী অবস্থা, যা এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করে সংশোধন করা যেতে পারে। মনে রাখবেন যে নন-আইডেম্পটেন্ট অপারেশনগুলি পুনরায় চেষ্টা করা সবসময় নিরাপদ নয়। সূচকীয় ব্যাকঅফ দিয়ে পুনরায় চেষ্টা করুন।
১৫ DATA_LOSS 500 Internal Server Error অপ্রত্যাশিত তথ্য ক্ষতি বা দুর্নীতি। আপনার সিস্টেম অ্যাডমিনিস্ট্রেটরের সাথে যোগাযোগ করুন। ডেটা হারিয়ে গেলে বা দুর্নীতি হলে সিস্টেম অ্যাডমিনিস্ট্রেটর কোনও সহায়তা প্রতিনিধির সাথে যোগাযোগ করতে চাইতে পারেন।
১৬ UNAUTHENTICATED 401 Unauthorized অনুরোধটিতে অপারেশনের জন্য বৈধ প্রমাণীকরণ শংসাপত্র নেই। সমস্যা সমাধান না করে আবার চেষ্টা করবেন না।