ফেরত দেওয়ার জন্য ক্ষেত্রগুলি বেছে নিন
যখন আপনি একটি রুট বা রুট ম্যাট্রিক্সের অনুরোধ করেন, তখন প্রতিক্রিয়াটি কোন তথ্য প্রদান করবে তা নির্দিষ্ট করার জন্য আপনাকে একটি ফিল্ড মাস্ক ব্যবহার করতে হবে। ফেরত ক্ষেত্রগুলির কোনও ডিফল্ট তালিকা নেই। যদি আপনি একটি ফিল্ড মাস্ক নির্দিষ্ট না করেন, তাহলে পদ্ধতিগুলি একটি ত্রুটি প্রদান করে।
ফিল্ড মাস্ক ব্যবহার করলে আপনি অপ্রয়োজনীয় ডেটার অনুরোধ করবেন না তাও নিশ্চিত হয়, যা প্রতিক্রিয়া বিলম্বিত করতে সাহায্য করে এবং আপনার সিস্টেমের প্রয়োজন নেই এমন তথ্য ফেরত দেওয়া এড়ায়।
আপনি একটি রেসপন্স ফিল্ড মাস্কে আপনার প্রয়োজনীয় ফিল্ডগুলির তালিকা নির্দিষ্ট করেন। তারপর আপনি URL প্যারামিটার $fields অথবা fields ব্যবহার করে, অথবা HTTP অথবা gRPC হেডার X-Goog-FieldMask ব্যবহার করে রেসপন্স ফিল্ড মাস্কটি যেকোনো পদ্ধতিতে পাস করেন।
URL প্যারামিটার সম্পর্কে আরও তথ্যের জন্য, সিস্টেম প্যারামিটার দেখুন।
একটি প্রতিক্রিয়া ক্ষেত্র মুখোশ সংজ্ঞায়িত করুন
রেসপন্স ফিল্ড মাস্ক হল কমা দ্বারা পৃথক করা পাথের একটি তালিকা, যেখানে প্রতিটি পাথ রেসপন্স বার্তায় একটি অনন্য ক্ষেত্র নির্দিষ্ট করে। পাথটি শীর্ষ-স্তরের রেসপন্স বার্তা থেকে শুরু হয় এবং নির্দিষ্ট ক্ষেত্রের জন্য একটি বিন্দু-বিচ্ছিন্ন পাথ ব্যবহার করে।
নিম্নরূপ একটি ফিল্ড পাথ তৈরি করুন এবং নির্দিষ্ট করুন:
- আপনার প্রয়োজনীয় তথ্য সম্বলিত ক্ষেত্রগুলি খুঁজুন । বিস্তারিত জানার জন্য, ক্ষেত্র রেফারেন্স দেখুন।
- আপনার প্রয়োজনীয় ক্ষেত্রগুলির জন্য পথ নির্ধারণ করুন এবং তাদের জন্য ফিল্ড মাস্ক তৈরি করুন : বিস্তারিত জানার জন্য, আপনি কোন ফিল্ড মাস্ক ব্যবহার করতে চান তা নির্ধারণ করুন দেখুন।
আপনার প্রয়োজনীয় সকল ফিল্ডের জন্য ফিল্ড মাস্কগুলো একত্রিত করুন , ফিল্ড মাস্কগুলোকে কমা দিয়ে আলাদা করুন। উদাহরণস্বরূপ, রুট লেগের জন্য
distanceMetersএবং প্রতিটি রুট লেগ স্টেপের জন্য সময়কাল অনুরোধ করতে, কোন স্পেস ছাড়াই কমা দিয়ে আলাদা করে উভয়টি লিখুন:routes.legs.distanceMeters,routes.legs.steps.duration
আপনার API অনুরোধের সাথে ফিল্ড মাস্কটি পাঠান । উদাহরণস্বরূপ, একটি কার্ল অনুরোধে, আপনাকে
-HএবংX-Goog-FieldMaskসহ ফিল্ড মাস্কটি নির্দিষ্ট করতে হবে:-H X-Goog-FieldMask: routes.legs.distanceMeters,routes.legs.steps.duration
ক্ষেত্রের তথ্যসূত্র
ফিল্ড মাস্কের মাধ্যমে আপনি কোন ক্ষেত্রগুলির জন্য প্রতিক্রিয়া জানাতে পারেন তা দেখতে, নিম্নলিখিত তালিকায় লিঙ্ক করা Routes API Compute Routes অথবা Compute Route Matrix রেফারেন্সগুলি দেখুন। রেফারেন্সে দেখানো camel case-এ ক্ষেত্রগুলি নির্দিষ্ট করুন। উদাহরণস্বরূপ, routePreference ।
এই রেফারেন্সগুলিতে উপলব্ধ ক্ষেত্রগুলি অন্তর্ভুক্ত রয়েছে; তবে, সম্পূর্ণ ফিল্ড মাস্ক পাথ নির্ধারণ করতে আপনাকে ক্ষেত্রের শ্রেণিবিন্যাস দেখতে হবে। ক্ষেত্রের শ্রেণিবিন্যাস সম্পর্কে বিস্তারিত জানার জন্য, আপনি কোন ফিল্ড মাস্ক ব্যবহার করতে চান তা নির্ধারণ করুন দেখুন।
- কম্পিউট রুট ফিল্ড মাস্ক
- কম্পিউট রুট ম্যাট্রিক্স ফিল্ড মাস্ক
- REST: রেসপন্স বডির ক্ষেত্রগুলি নির্দিষ্ট করে যা ফেরত পাঠানো হবে।
- gRPC: রিটার্নের প্রতিক্রিয়ায় RouteMatrixElement অবজেক্টের ক্ষেত্রগুলি নির্দিষ্ট করে।
কোন ফিল্ড মাস্ক ব্যবহার করবেন তা নির্ধারণ করুন
আপনি কোন ক্ষেত্রগুলি ব্যবহার করতে চান তা কীভাবে নির্ধারণ করবেন এবং তাদের জন্য ক্ষেত্র মুখোশ তৈরি করবেন তা এখানে দেওয়া হল:
-
*এর ফিল্ড মাস্ক ব্যবহার করে সমস্ত ফিল্ডের অনুরোধ করুন । - আপনার পছন্দের ক্ষেত্রগুলির উত্তরে ক্ষেত্রগুলির শ্রেণিবিন্যাস দেখুন ।
পূর্ববর্তী ধাপে দেখানো ক্ষেত্রের অনুক্রম ব্যবহার করে আপনার ক্ষেত্রের মুখোশ তৈরি করুন , এই বিন্যাসটি ব্যবহার করে:
topLevelField[.secondLevelField][.thirdLevelField][...]
উদাহরণস্বরূপ, একটি রুট থেকে এই আংশিক প্রতিক্রিয়ার জন্য:
"routes": [ { "legs": [ { "steps": [ {"distanceMeters": 119}, {"distanceMeters": 41} ] } ], "distanceMeters": 160 } ]
যদি আপনি রুট লেগের জন্য শুধুমাত্র distanceMeters ফিল্ডটি ফেরত দিতে চান; অর্থাৎ, পূর্ববর্তী নমুনার শেষ distanceMeters , তাহলে আপনার ফিল্ড মাস্কটি নিম্নরূপ:
routes.legs.distanceMeters
যদি আপনি রুট লেগের প্রতিটি ধাপের জন্য distanceMeters ক্ষেত্রটি ফেরত দিতে চান; অর্থাৎ, পূর্ববর্তী নমুনায় steps অধীনে distanceMeters , তাহলে আপনার ফিল্ড মাস্কটি নিম্নরূপ:
routes.legs.steps.distanceMeters
যদি আপনি উভয়ই ফেরত দিতে চান, উপরের ফলাফল সহ, আপনার ফিল্ড মাস্কটি নিম্নরূপ:
routes.legs.distanceMeters,routes.legs.steps.distanceMeters
উদাহরণ ফিল্ড মাস্ক পাথ
এই বিভাগে REST এবং gRPC কলগুলিতে একটি রেসপন্স ফিল্ড মাস্কের অংশ হিসাবে একটি ফিল্ড পাথ কীভাবে নির্দিষ্ট করতে হয় তার আরও উদাহরণ রয়েছে।
computeRoutes REST কল করুন
প্রথম উদাহরণে, আপনি একটি রুট গণনা করার জন্য computeRoutes পদ্ধতিতে একটি REST কল ব্যবহার করেন। এই উদাহরণে, হেডারে, আপনি প্রতিক্রিয়ায় রুট distanceMeters এবং duration ক্ষেত্রগুলি ফেরত দেওয়ার জন্য ফিল্ড মাস্কগুলি নির্দিষ্ট করেন। routes অনুসারে ক্ষেত্রের নামটি প্রিফিক্স করতে ভুলবেন না।
X-Goog-FieldMask: routes.distanceMeters,routes.duration
computeRouteMatrix REST কল করুন
রুট ম্যাট্রিক্স গণনা করার জন্য ব্যবহৃত REST computeRouteMatrix পদ্ধতির জন্য, হেডারে, originIndex , destinationIndex , এবং origin এবং destination এর প্রতিটি সংমিশ্রণের জন্য duration উল্লেখ করুন:
X-Goog-FieldMask: originIndex,destinationIndex,duration
জিআরপিসি কল
gRPC-এর জন্য, রেসপন্স ফিল্ড মাস্ক ধারণকারী একটি ভেরিয়েবল সেট করুন। তারপর আপনি সেই ভেরিয়েবলটি অনুরোধে পাস করতে পারেন।
const ( fieldMask = "routes.distanceMeters,routes.duration,routes.polyline.encodedPolyline" )
ক্ষেত্রের পথ বিবেচনা
আপনার প্রয়োজনীয় ক্ষেত্রগুলি ফেরত দেওয়ার জন্য প্রতিক্রিয়ায় শুধুমাত্র প্রয়োজনীয় ক্ষেত্রগুলি অন্তর্ভুক্ত করুন:
- প্রক্রিয়াকরণের সময় কমায় , তাই আপনার ফলাফল কম ল্যাটেন্সির সাথে ফেরত পাঠানো হয়।
- স্থিতিশীল ল্যাটেন্সি পারফরম্যান্স নিশ্চিত করে । আপনি যদি সমস্ত ক্ষেত্র নির্বাচন করেন, অথবা যদি আপনি শীর্ষ স্তরে সমস্ত ক্ষেত্র নির্বাচন করেন, তাহলে নতুন ক্ষেত্র যোগ করা হলে এবং তারপর স্বয়ংক্রিয়ভাবে আপনার প্রতিক্রিয়ায় অন্তর্ভুক্ত হলে আপনার কর্মক্ষমতা হ্রাস পেতে পারে।
- এর ফলে রেসপন্স সাইজ ছোট হয় , যা নেটওয়ার্কের গতি বৃদ্ধিতে অবদান রাখে।
- নিশ্চিত করে যে আপনি অপ্রয়োজনীয় ডেটা অনুরোধ করবেন না , যা অপ্রয়োজনীয় প্রক্রিয়াকরণ সময় এবং বিল করা চার্জ এড়াতে সাহায্য করে।
ফিল্ড মাস্ক তৈরি সম্পর্কে আরও তথ্যের জন্য, field_mask.proto দেখুন।