এই পৃষ্ঠায় মেট্রিক্স কনফিগারেশন জেনারেটর (MCG) এপিআই এন্ডপয়েন্টগুলোর রেফারেন্স ডকুমেন্টেশন দেওয়া হয়েছে।
এন্ডপয়েন্টগুলির সংক্ষিপ্ত বিবরণ
নিম্নলিখিত বিভাগগুলিতে MCG-তে উপলব্ধ API এন্ডপয়েন্টগুলির বিশদ বিবরণ দেওয়া হয়েছে।
মেট্রিক্স কনফিগারেশন
-
POST /api/v1/generate_metrics_config: মেট্রিক কনফিগারেশন অনুরোধের বিবরণ থেকে একটিMetricsConfigইনস্ট্যান্স তৈরি করুন। -
POST /api/v1/get_file_descriptor_set: রিপোর্ট ডিকোড করার জন্য প্রদত্তMetricsConfigএর ফাইল ডেসক্রিপ্টরগুলো ফেরত দেয়। -
POST /api/v1/validate_metrics_config: প্রদত্তMetricsConfigযাচাই করুন এবং যেকোনো যাচাইকরণ ত্রুটির একটি তালিকা ফেরত দিন।
যানবাহন সংকেত ক্যাটালগ
-
POST /api/v1/vs/: নতুন যানবাহন সংকেত ক্যাটালগ তৈরি করুন অথবা বিদ্যমান ক্যাটালগ হালনাগাদ করুন। -
GET /api/v1/vs/: যানবাহন সংকেত ক্যাটালগের সমস্ত মেটাডেটা তালিকাভুক্ত করুন। -
DELETE /api/v1/vs/{version}: নির্দিষ্ট যানবাহন সংকেত ক্যাটালগটি মুছে ফেলুন।
পরিষেবার অবস্থা
-
GET /health: পরিষেবাটির অবস্থা পরীক্ষা করুন।
প্রোটোবাফ বিষয়বস্তুর প্রকার
বেশ কিছু এপিআই এন্ডপয়েন্ট প্রোটোকল বাফার (প্রোটোবাফ) ফরম্যাটে ডেটা গ্রহণ বা ফেরত দেয়। দুটি কন্টেন্ট টাইপ ব্যবহৃত হয়:
-
application/x-protobuf: প্রোটোবাফ ডেটাকে তার বাইনারি ওয়্যার ফরম্যাটে নির্দেশ করে। এই ফরম্যাটটি মেশিন-টু-মেশিন যোগাযোগের জন্য কার্যকর, কিন্তু এটি মানুষের পাঠযোগ্য নয়। -
text/x-protobuf: প্রোটোবাফ ডেটাকে তার টেক্সট ফরম্যাটে নির্দেশ করে, যা মানুষের পাঠযোগ্য এবং ডিবাগিং বা ম্যানুয়াল পরিদর্শনের জন্য উপযোগী।
যখন কোনো এন্ডপয়েন্ট একটি অনুরোধ বা প্রতিক্রিয়ার জন্য একাধিক প্রোটোবাফ ফরম্যাট সমর্থন করে, তখন অনুরোধ ডেটার ফরম্যাট নির্দিষ্ট করতে Content-Type হেডার এবং প্রতিক্রিয়া ডেটার নির্বাচিত ফরম্যাট নির্দিষ্ট করতে Accept হেডার ব্যবহার করুন। উদাহরণস্বরূপ:
-
-H 'Content-Type: application/x-protobuf' -
-H 'Accept: text/x-protobuf'
এপিআই কল করুন
এই পৃষ্ঠার উদাহরণগুলিতে REST API কল করার জন্য curl ব্যবহার করা হয়েছে এবং ধরে নেওয়া হয়েছে যে আপনি SERVICE_URL এনভায়রনমেন্ট ভেরিয়েবলটি সেই হোস্টকে নির্দেশ করার জন্য সেট করেছেন যেখানে MCG ডেপ্লয় করা আছে। স্থানীয়ভাবে চালানোর সময়, এটি সাধারণত http://localhost:8005 হয়ে থাকে।
একটি রিমোট ক্লাউড রান ইনস্ট্যান্সকে টার্গেট করতে, gcloud ব্যবহার করে SERVICE_URL সেট করুন। তারপর, আপনার curl কমান্ডের সাথে একটি OpenID Connect (OIDC) আইডেন্টিটি টোকেনসহ একটি অথরাইজেশন হেডার যুক্ত করুন:
SERVICE_URL=$(gcloud run services describe mcg-service --region=<var label="Google Cloud region">GCP_REGION</var> --format='value(status.url)')
# Authorization header to append to curl command:
-H "Authorization: Bearer $(gcloud auth print-identity-token)"
মেট্রিক্স কনফিগারেশন
এই বিভাগে মেট্রিক্স কনফিগারেশন তৈরি এবং যাচাই করার এন্ডপয়েন্টগুলো বর্ণনা করা হয়েছে।
পোস্ট /api/v1/generate_metrics_config
মেট্রিক্স কনফিগারেশন অনুরোধের বিবরণ থেকে একটি MetricsConfig ইনস্ট্যান্স তৈরি করুন। এই প্রক্রিয়ার মধ্যে যাচাইকরণ অন্তর্ভুক্ত, এবং স্কিমা লঙ্ঘন, অবৈধ রেফারেন্স, চক্রাকার নির্ভরতা বা অন্যান্য সমস্যার কারণে যদি এটি তৈরি করা ব্যর্থ হয়, তবে API ত্রুটির বিবরণের একটি তালিকা ফেরত দেয়।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| কোয়েরি প্যারামিটার | ignore_validation : booleanঐচ্ছিক। যদি true , তাহলে ভ্যালিডেশন ত্রুটি উপেক্ষা করে MetricsConfig রিটার্ন করা হবে। |
| অনুরোধকারী শরীর | অনুরোধের মূল অংশে অবশ্যই JSON ফরম্যাটে মেট্রিক্স কনফিগারেশন অনুরোধের বিবরণ থাকতে হবে। |
| সফল প্রতিক্রিয়া | রেসপন্স বডিতে application/x-protobuf অথবা text/x-protobuf ফরম্যাটে একটি MetricsConfig মেসেজ থাকে।Metrics-Config-Size হেডারে কনফিগারেশনের আকার বাইটে থাকে। |
| উদাহরণ | curl -H "Content-Type: application/json" \ -H "Accept: text/x-protobuf" \ --data-binary @PATH_TO_METRICS_CONFIG_JSON \ "$SERVICE_URL/api/v1/generate_metrics_config" |
পোস্ট /api/v1/get_file_descriptor_set
রিপোর্ট ডিকোড করার জন্য প্রদত্ত MetricsConfig এর ফাইল ডেসক্রিপ্টরগুলো ফেরত দিন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| অনুরোধকারী শরীর | অনুরোধের মূল অংশে অবশ্যই application/x-protobuf অথবা text/x-protobuf ফরম্যাটে একটি android.sdv.telemetry.MetricsConfig বার্তা থাকতে হবে। |
| সফল প্রতিক্রিয়া | রেসপন্স বডিতে application/x-protobuf অথবা text/x-protobuf ফরম্যাটে একটি google.protobuf.FileDescriptorSet মেসেজ থাকে। |
| উদাহরণ | curl -H "Content-Type: application/x-protobuf" \ -H "Accept: application/x-protobuf" \ --data-binary @PATH_TO_METRICS_CONFIG_PB \ "$SERVICE_URL/api/v1/get_file_descriptor_set" |
পোস্ট /api/v1/validate_metrics_config
প্রদত্ত MetricsConfig যাচাই করুন এবং যেকোনো যাচাইকরণ ত্রুটির একটি তালিকা ফেরত দিন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| কোয়েরি প্যারামিটার | return_config : booleanঐচ্ছিক। যদি true , সফল যাচাইকরণের পর MetricsConfig ফেরত দিন। |
| অনুরোধকারী শরীর | অনুরোধের মূল অংশে অবশ্যই application/x-protobuf অথবা text/x-protobuf ফরম্যাটে একটি android.sdv.telemetry.MetricsConfig বার্তা থাকতে হবে। |
| সফল প্রতিক্রিয়া | রেসপন্স বডিতে একটি খালি অবজেক্ট (ডিফল্ট) অথবা MetricsConfig (যদি return_config true হয়) থাকে।Metrics-Config-Size হেডারে কনফিগারেশনের আকার বাইটে থাকে। |
| উদাহরণ | curl -H "Content-Type: application/json" \ -H "Accept: application/json" \ --data-binary @PATH_TO_METRICS_CONFIG_JSON \ "$SERVICE_URL/api/v1/validate_metrics_config" |
যানবাহন সংকেত ক্যাটালগ
এই বিভাগে যানবাহন সংকেত ক্যাটালগ পরিচালনার জন্য এন্ডপয়েন্টগুলো বর্ণনা করা হয়েছে।
পোস্ট /api/v1/vs/
নতুন যানবাহন সংকেত ক্যাটালগ তৈরি করুন অথবা বিদ্যমান ক্যাটালগ হালনাগাদ করুন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| অনুরোধকারী শরীর | অনুরোধের বডিতে অবশ্যই একটি JSON অবজেক্ট থাকতে হবে, যার মধ্যে একটি version স্ট্রিং এবং vehicle_signals জন্য একটি base64-এনকোডেড FileDescriptorSet থাকবে। { "version": "string", "vehicle_signals": "string" } |
| সফল প্রতিক্রিয়া | সফল হলে, API-টি application/json ফাইলে যোগ করা বা আপডেট করা ক্যাটালগের সংস্করণটি ফেরত দেয়: {"version": "string"} |
| উদাহরণ | vehicle_signals ফিল্ডের জন্য base64-এনকোডেড FileDescriptorSet তৈরি করার নির্দেশাবলীর জন্য, Vehicle Signal Catalogs দেখুন। curl -H "Content-Type: application/json" \ --data-binary @- "$SERVICE_URL/api/v1/vs/" << EOF { "version": "v1.0", "vehicle_signals": "VEHICLE_SIGNALS_BASE64" } EOF |
GET /api/v1/vs/
যানবাহন সংকেত ক্যাটালগের সমস্ত মেটাডেটা তালিকাভুক্ত করুন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| সফল প্রতিক্রিয়া | সফল হলে, API-টি application/json ফাইল থেকে ক্যাটালগ ভার্সনগুলোর একটি তালিকা ফেরত দেয়: {"versions": [{"version": "string"}]} |
| উদাহরণ | curl "$SERVICE_URL/api/v1/vs/" |
DELETE /api/v1/vs/{version}
নির্দিষ্ট যানবাহন সংকেত ক্যাটালগটি মুছে ফেলুন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| পথের পরামিতি | version : stringপ্রয়োজনীয়। মুছে ফেলার জন্য ভেহিকেল সিগন্যাল ক্যাটালগের শনাক্তকারী, যা POST অনুরোধের version ক্ষেত্রে প্রদান করা হয়েছে। |
| সফল প্রতিক্রিয়া | সফল হলে, API-টি মুছে ফেলা ক্যাটালগের সংস্করণসহ application/json ফেরত দেয়: {"version": "string"} |
| উদাহরণ | curl --request DELETE "$SERVICE_URL/api/v1/vs/v1.0" |
পরিষেবার অবস্থা
এই অংশে পরিষেবার স্বাস্থ্য পরীক্ষা করার এন্ডপয়েন্টগুলো বর্ণনা করা হয়েছে।
GET /স্বাস্থ্য
পরিষেবাটির অবস্থা পরীক্ষা করুন।
| এন্ডপয়েন্টের বিবরণ | |
|---|---|
| সফল প্রতিক্রিয়া | পরিষেবাটি সুস্থ থাকলে, এটি একটি 200 OK স্ট্যাটাস কোড ফেরত দেয়। |
| উদাহরণ | curl "$SERVICE_URL/health" |
ত্রুটিপূর্ণ প্রতিক্রিয়া
যখন কোনো API কলে ত্রুটি ঘটে ( HTTP status 4xx বা 5xx ), তখন রেসপন্স বডিতে নিম্নলিখিত কাঠামোসহ একটি এরর অবজেক্ট থাকে:
{
"error": {
"code": 400,
"status": "INVALID_ARGUMENT",
"message": "Request validation failed",
"details": [
{
"@type": "type.googleapis.com/google.rpc.BadRequest",
"fieldViolations": [
{
"field": "fieldName",
"description": "error description"
}
]
}
]
}
}
| ত্রুটি ক্ষেত্র | |
|---|---|
code | int32HTTP স্ট্যাটাস কোড (উদাহরণস্বরূপ, 400 , 404 , বা 500 )। |
status | stringগুগল আরপিসি-র প্রামাণ্য স্ট্যাটাস কোড (যেমন, INVALID_ARGUMENT , NOT_FOUND , বা INTERNAL )। |
message | stringডেভেলপারদের জন্য ইংরেজিতে একটি ত্রুটি বার্তা। |
details | Array<object>@type মেম্বার দ্বারা চিহ্নিত, ত্রুটির আরও বিস্তারিত তথ্য ধারণকারী অবজেক্টের একটি অ্যারে। |