หน้านี้แสดงเอกสารอ้างอิงสำหรับปลายทาง API ของเครื่องมือสร้างการกำหนดค่าเมตริก (MCG)
ภาพรวมของอุปกรณ์ปลายทาง
ส่วนต่อไปนี้จะอธิบายรายละเอียดปลายทาง API ที่มีใน MCG
การกำหนดค่าเมตริก
POST /api/v2/generate_metrics_config: สร้างอินสแตนซ์MetricsConfigจากรายละเอียดคำขอการกำหนดค่าเมตริกPOST /api/v2/get_file_descriptor_set: แสดงผลตัวบอกไฟล์สำหรับMetricsConfigที่ระบุเพื่อถอดรหัสรายงานPOST /api/v2/validate_metrics_config: ตรวจสอบความถูกต้องของMetricsConfigที่ส่งมา โดยแสดงรายการข้อผิดพลาดในการตรวจสอบความถูกต้อง
แคตตาล็อกสัญญาณของยานพาหนะ
POST /api/v2/vs/: สร้างแคตตาล็อกสัญญาณยานพาหนะใหม่หรืออัปเดตแคตตาล็อกที่มีอยู่GET /api/v2/vs/: แสดงข้อมูลเมตาของ Vehicle Signal Catalog ทั้งหมดDELETE /api/v2/vs/{version}: ลบแคตตาล็อกสัญญาณของยานพาหนะที่ระบุ
สถานะบริการ
GET /health: ตรวจสอบประสิทธิภาพของบริการ
ประเภทเนื้อหา Protobuf
ปลายทาง API หลายรายการยอมรับหรือแสดงผลข้อมูลในรูปแบบบัฟเฟอร์โปรโตคอล (Protobuf) โดยใช้เนื้อหา 2 ประเภท ได้แก่
application/x-protobuf: ระบุข้อมูล protobuf ในรูปแบบไบนารีแบบ Wire รูปแบบนี้มีประสิทธิภาพสำหรับการสื่อสารระหว่างเครื่องกับเครื่อง แต่ไม่สามารถอ่านได้โดยมนุษย์text/x-protobuf: ระบุข้อมูล Protobuf ในรูปแบบข้อความ ซึ่งมนุษย์อ่านได้และมีประโยชน์สำหรับการแก้ไขข้อบกพร่องหรือการตรวจสอบด้วยตนเอง
เมื่อปลายทางรองรับรูปแบบ Protobuf หลายรูปแบบสำหรับคำขอหรือการตอบกลับ ให้ใช้ส่วนหัว Content-Type เพื่อระบุรูปแบบของข้อมูลคำขอ และใช้ส่วนหัว Accept เพื่อระบุรูปแบบที่เลือกของข้อมูลการตอบกลับ เช่น
-H 'Content-Type: application/x-protobuf'-H 'Accept: text/x-protobuf'
เรียก API
ตัวอย่างในหน้านี้ใช้ curl เพื่อเรียกใช้ REST API และถือว่าคุณตั้งค่าตัวแปรสภาพแวดล้อม SERVICE_URL เพื่ออ้างอิงโฮสต์ที่มีการติดตั้งใช้งาน MCG เมื่อเรียกใช้ในเครื่อง โดยปกติแล้วจะเป็น http://localhost:8005
หากต้องการกำหนดเป้าหมายอินสแตนซ์ Cloud Run ระยะไกล ให้ตั้งค่า SERVICE_URL โดยใช้ gcloud ดังนี้
SERVICE_URL=$(gcloud run services describe mcg-service \ --region=GCP_REGION \ --format='value(status.url)')
เมื่อเรียกใช้ปลายทาง Cloud Run ระยะไกล ให้เพิ่มส่วนหัวการให้สิทธิ์ต่อไปนี้ต่อท้ายคำสั่ง curl
-H "Authorization: Bearer $(gcloud auth print-identity-token)"
การกำหนดค่าเมตริก
ส่วนนี้จะอธิบายปลายทางสำหรับการสร้างและการตรวจสอบความถูกต้องของการกำหนดค่าเมตริก
POST /api/v2/generate_metrics_config
สร้างอินสแตนซ์ MetricsConfig จากรายละเอียดคำขอการกำหนดค่าเมตริก
กระบวนการนี้รวมถึงการตรวจสอบ และหากการสร้างไม่สำเร็จเนื่องจากการละเมิดสคีมา การอ้างอิงที่ไม่ถูกต้อง การขึ้นต่อกันแบบวนซ้ำ หรือปัญหาอื่นๆ API จะแสดงรายการรายละเอียดข้อผิดพลาด
| รายละเอียดปลายทาง | |
|---|---|
| พารามิเตอร์การค้นหา |
ignore_validation: booleanไม่บังคับ หากเป็น true ให้ละเว้นข้อผิดพลาดในการตรวจสอบและแสดงผล MetricsConfig
|
| เนื้อหาคำขอ |
เนื้อหาของคำขอต้องมีรายละเอียดคำขอการกำหนดค่าเมตริกในรูปแบบ JSON |
| การตอบกลับที่สำเร็จ |
เนื้อความของการตอบกลับจะมีข้อความ MetricsConfig ในรูปแบบ application/x-protobuf หรือ text/x-protobufส่วนหัว Metrics-Config-Size มีขนาดการกำหนดค่าในหน่วยไบต์
|
| ตัวอย่าง |
curl -H "Content-Type: application/json" \ -H "Accept: text/x-protobuf" \ --data-binary @PATH_TO_METRICS_CONFIG_JSON \ "$SERVICE_URL/api/v2/generate_metrics_config" |
POST /api/v2/get_file_descriptor_set
แสดงผลตัวบอกไฟล์สำหรับ MetricsConfig ที่ระบุเพื่อถอดรหัสรายงาน
| รายละเอียดปลายทาง | |
|---|---|
| เนื้อหาคำขอ |
เนื้อความของคำขอต้องมีข้อความ google.sdv.telemetry.MetricsConfig ในรูปแบบ application/x-protobuf หรือ text/x-protobuf
|
| การตอบกลับที่สำเร็จ |
เนื้อความของการตอบกลับจะมีข้อความ google.protobuf.FileDescriptorSet ในรูปแบบ application/x-protobuf หรือ text/x-protobuf
|
| ตัวอย่าง |
curl -H "Content-Type: application/x-protobuf" \ -H "Accept: application/x-protobuf" \ --data-binary @PATH_TO_METRICS_CONFIG_PB \ "$SERVICE_URL/api/v2/get_file_descriptor_set" |
POST /api/v2/validate_metrics_config
ตรวจสอบความถูกต้องของ MetricsConfig ที่ระบุ โดยแสดงรายการข้อผิดพลาดในการตรวจสอบความถูกต้อง
| รายละเอียดปลายทาง | |
|---|---|
| พารามิเตอร์การค้นหา |
return_config: booleanไม่บังคับ หาก true ให้แสดง MetricsConfig เมื่อตรวจสอบความถูกต้องสำเร็จ
|
| เนื้อหาคำขอ |
เนื้อความของคำขอต้องมีข้อความ google.sdv.telemetry.MetricsConfig ในรูปแบบ application/x-protobuf หรือ text/x-protobuf
|
| การตอบกลับที่สำเร็จ |
เนื้อหาการตอบกลับจะมีออบเจ็กต์ว่างเปล่า (ค่าเริ่มต้น) หรือ MetricsConfig (หาก return_config เป็น true)ส่วนหัว Metrics-Config-Size จะมีขนาดการกำหนดค่าเป็นไบต์
|
| ตัวอย่าง |
curl -H "Content-Type: application/x-protobuf" \ -H "Accept: application/json" \ --data-binary @PATH_TO_METRICS_CONFIG_PB \ "$SERVICE_URL/api/v2/validate_metrics_config" |
แคตตาล็อกสัญญาณของยานพาหนะ
ส่วนนี้จะอธิบายปลายทางสำหรับการจัดการ Vehicle Signal Catalog
POST /api/v2/vs/
สร้างแคตตาล็อกสัญญาณยานพาหนะใหม่หรืออัปเดตแคตตาล็อกที่มีอยู่
| รายละเอียดปลายทาง | |
|---|---|
| เนื้อหาคำขอ |
เนื้อหาของคำขอต้องมีออบเจ็กต์ JSON ที่มีสตริง version และ FileDescriptorSet ที่เข้ารหัสแบบ Base64 สำหรับ vehicle_signals
{ "version": "string", "vehicle_signals": "string" } |
| การตอบกลับที่สำเร็จ |
หากสำเร็จ API จะแสดงผล application/json พร้อมเวอร์ชันของแคตตาล็อกที่เพิ่มหรืออัปเดต ดังนี้
{"version": "string"} |
| ตัวอย่าง |
ดูวิธีการสร้าง FileDescriptorSet ที่เข้ารหัส Base64 สำหรับช่อง vehicle_signals ได้ที่แคตตาล็อกสัญญาณของยานพาหนะ
curl -H "Content-Type: application/json" \ --data-binary @- "$SERVICE_URL/api/v2/vs/" << EOF { "version": "v1.0", "vehicle_signals": "VEHICLE_SIGNALS_BASE64" } EOF |
GET /api/v2/vs/
แสดงข้อมูลเมตาของ Vehicle Signal Catalog ทั้งหมด
| รายละเอียดปลายทาง | |
|---|---|
| การตอบกลับที่สำเร็จ |
หากทำสำเร็จ API จะแสดงผล application/json ซึ่งมีรายการเวอร์ชันแคตตาล็อกดังนี้
{"versions": [{"version": "string"}]} |
| ตัวอย่าง |
curl "$SERVICE_URL/api/v2/vs/" |
DELETE /api/v2/vs/{version}
ลบแคตตาล็อกสัญญาณของยานพาหนะที่ระบุ
| รายละเอียดปลายทาง | |
|---|---|
| พารามิเตอร์เส้นทาง |
version: stringต้องระบุ ตัวระบุของ Vehicle Signal Catalog ที่จะลบ ตามที่ระบุไว้ในช่อง version ของคำขอ POST
|
| การตอบกลับที่สำเร็จ |
หากทำสำเร็จ API จะแสดงผล application/json พร้อมเวอร์ชันของแคตตาล็อกที่ถูกลบ ดังนี้
{"version": "string"} |
| ตัวอย่าง |
curl --request DELETE "$SERVICE_URL/api/v2/vs/v1.0" |
สถานะบริการ
ส่วนนี้จะอธิบายปลายทางสำหรับการตรวจสอบประสิทธิภาพของบริการ
GET /health
ตรวจสอบประสิทธิภาพของบริการ
| รายละเอียดปลายทาง | |
|---|---|
| การตอบกลับที่สำเร็จ |
หากทำงานได้ปกติ บริการจะแสดงรหัสสถานะ 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 |
int32รหัสสถานะ HTTP (เช่น 400, 404 หรือ 500) |
status |
stringรหัสสถานะ Canonical ของ Google RPC (เช่น INVALID_ARGUMENT, NOT_FOUND หรือ INTERNAL) |
message |
stringข้อความแสดงข้อผิดพลาดที่ส่งถึงนักพัฒนาแอปเป็นภาษาอังกฤษ |
details |
Array<object>อาร์เรย์ของออบเจ็กต์ที่มีรายละเอียดข้อผิดพลาดเพิ่มเติม ซึ่งระบุโดยสมาชิก @type |