หน้านี้อธิบายวิธีใช้ฟิลด์ข้อมูลเมตาของแพ็กเกจบริการที่จำเป็นและไม่บังคับ
ข้อมูลเมตาที่ต้องระบุ
รูปแบบการดำเนินการของชุดบริการกำหนดให้ชุดบริการแต่ละชุดต้องกำหนดข้อมูลเมตาต่อไปนี้
- ชื่อของบริการตามแบบแผนการตั้งชื่อ SDV
- การแสดงเวอร์ชันแพ็กเกจบริการเป็นจำนวนเต็มและสตริง
- เส้นทางไปยังคลังแพ็กเกจบริการ
sdv_service_bundle_metadata {
# Name of the service bundle.
#
# Must follow SDV service naming convention rules.
# Ref: https:/automotive/sdv/core-areas/naming-conventions
#
# When using VSIDL catalog and middleware generation, this name must be
# equal to the service bundle name defined in the catalog.
name: "TheNameOfTheServiceBundle"
# Service Bundle Version Number.
# Must be non-negative number.
version_number: 1
# Service Bundle Version Name.
# Must be non-empty string.
version_name: "1.0 alpha"
# Path to the native library to be loaded as service bundle.
# Must be the relative path from the APEX root directory
native_library_path: "lib64/libservice_bundle.so"
}
# Service bundle one.
sdv_service_bundle_metadata {
name: "ServiceBundleOne"
...
}
# Service bundle two.
sdv_service_bundle_metadata {
name: "ServiceBundleTwo"
...
}
ข้อมูลเมตาที่ไม่บังคับ
การรองรับข้อมูลเมตาที่ไม่บังคับจะช่วยให้ใช้ความสามารถเฉพาะของ SDV ได้
ข้อมูลเมตาการจัดระเบียบ
การกำหนดค่าการจัดสรร SDV มีกลไก สำหรับการควบคุมลักษณะการทำงานของการเริ่มต้นและปิดกลุ่มบริการ การกำหนดค่าการจัดสรร SDV จะกำหนดชุดกฎที่กำหนด เวลาและวิธีการดำเนินการกับอินสแตนซ์กลุ่มบริการ กฎเหล่านี้อิงตามโหมดรถยนต์ โหมดพลังงาน และโหมดที่กำหนดเอง
หากต้องการเชื่อมโยงการกำหนดค่าการจัด Orchestrate กับแพ็กเกจบริการ
ให้ระบุเส้นทางไปยังโมดูล prebuilt_etc ในฟิลด์ orchestration_config_path ที่ไม่บังคับ
sdv_service_bundle_metadata {
...
# Path to the orchestration config file.
# Warning: Shall be relative path to the APEX root directory.
orchestration_config_path: "etc/configuration/orchestration/configuration.textproto"
}
เส้นทางนโยบายการให้สิทธิ์
นโยบายการให้สิทธิ์ SDV มีกลไกในการประกาศสิทธิ์สำหรับ ชุดบริการ นโยบายการให้สิทธิ์จะกำหนดการดำเนินการที่ชุดบริการ ทำได้ (เช่น เผยแพร่ ติดตาม แสดง หรือเรียก)
หากต้องการเชื่อมโยงนโยบายการให้สิทธิ์กับแพ็กเกจบริการ ให้ระบุเส้นทางไปยังprebuilt_etcโมดูลในฟิลด์authorization_policy_pathที่ไม่บังคับ
sdv_service_bundle_metadata {
...
# Path to the authorization policy file.
# Warning: Shall be relative path to the APEX root directory.
authorization_policy_path: "etc/authz/permissions.textproto"
}
ข้อมูลเมตาของผู้ให้บริการ VSIDL
ข้อมูลเมตาของผู้ให้บริการ VSIDL เป็นส่วนหนึ่งของกลไกการผสานรวมชุดบริการ กับเอเจนต์แพลตฟอร์มการวินิจฉัยและ SOME/IP
หากต้องการเชื่อมโยงข้อมูลเมตาของผู้ให้บริการ VSIDL กับแพ็กเกจบริการ ให้
ระบุเส้นทางไปยังไฟล์ prebuilt_etc ที่มีไฟล์ข้อมูลเมตาที่สร้างขึ้น
ในฟิลด์ vsidl_schemas_path / diagnostics_config_path /
(การกำหนดค่า SOME/IP APEX เท่านั้น) external_service_bundle_metadata_path ที่ไม่บังคับ
sdv_service_bundle_metadata {
...
# Path to the file with protobuf schemas extracted from bundle's VSIDL definition.
# Warning: Must be relative path to the APEX root directory.
vsidl_schemas_path: "etc/vsidl_provider/TheNameOfTheServiceBundle-vsidl-config.binpb"
# Path to the diagnostics config file.
# Warning: Shall be relative path to the APEX root directory.
diagnostics_config_path: "etc/vsidl_provider/TheNameOfTheServiceBundle-diag-config.binpb"
# Path to the SOME/IP config file. To be used in SOME/IP configuration apex only.
# Warning: Must be relative path to the APEX root directory.
external_protocol_mapping_path: "etc/vsidl_provider/someip-config.binpb"
}
ดูข้อมูลเพิ่มเติมได้ที่ภาพรวมของผู้ให้บริการ VSIDL
ข้อมูลเมตาของแท็กล็อก
แอตทริบิวต์แท็กล็อกจะระบุตัวระบุที่ไม่ซ้ำกันสำหรับบันทึกที่สร้างขึ้นโดย ชุดบริการ หากไม่ได้กำหนดแอตทริบิวต์นี้ ระบบจะสร้างแท็กเริ่มต้นโดยอัตโนมัติ โดยใช้ชื่อแพ็กเกจ ชื่อแพ็กเกจบริการ และชื่ออินสแตนซ์ กำหนดแท็กบันทึกที่กระชับและไม่ซ้ำกันเพื่อให้มีความชัดเจนสูงสุด
ข้อมูลเมตาที่กำหนดเอง
ข้อมูลเมตาที่กำหนดเองช่วยให้ OEM และผู้ให้บริการกำหนดข้อมูลเมตาของแพ็กเกจบริการที่เฉพาะเจาะจงได้
sdv_service_bundle_metadata {
...
# Custom service bundle metadata map.
# Key is a string, value is a string.
#
# 1st custom metadata value.
custom_metadata {
key: "question"
value: "Answer to the Ultimate Question of Life, the Universe, and Everything"
}
# 2nd custom metadata value.
custom_metadata {
key: "answer" value: "42"
}
}
sdv_service_bundle_metadata {
...
# Custom metadata values are stored in etc/.
custom_metadata {
key: "path_to_custom_metadata"
value: "etc/configuration/file"
}
}
ตัวอย่างแบบเต็ม
# proto-file: //system/software_defined_vehicle/core_services/service_bundles_registry/proto/sdv_service_bundles_manifest.proto
# proto-message: SdvServiceBundleManifestEntry
# SDV service bundle.
sdv_service_bundle_metadata {
# Name of the service bundle.
# Must follow SDV service naming convention rules.
name: "TheNameOfTheServiceBundle"
# Service Bundle Version Number.
# Must be non-negative number.
version_number: 42
# Service Bundle Version Name.
# Must be non-empty string.
version_name: "42.0.beta"
# Path to the native library to be loaded as service bundle.
# Must be the relative path from the APEX root directory.
native_library_path: "lib64/libservice_bundle.so"
# The log tag used for Android logging for the service bundle.
# If not specified, a tag derived from service bundle FQIN will be used.
log_tag: "current_service_bundle"
# Path to the orchestration config file.
# Warning: Shall be relative path to the APEX root directory.
orchestration_config_path: "etc/configuration/orchestration/configuration.textproto"
# Path to the file with protobuf schemas extracted from bundle's VSIDL definition.
# Warning: Must be relative path to the APEX root directory.
vsidl_schemas_path: "etc/vsidl_provider/TheNameOfTheServiceBundle-vsidl-config.binpb"
# Path to the diagnostics config file.
# Warning: Must be relative path to the APEX root directory.
diagnostics_config_path: "etc/vsidl_provider/TheNameOfTheServiceBundle-diag-config.binpb"
# Path to the SOME/IP config file. To be used in SOME/IP configuration apex only.
# Warning: Must be relative path to the APEX root directory.
external_protocol_mapping_path: "etc/vsidl_provider/someip-config.binpb"
# Custom service bundle metadata string.
# Key is a string, value is a string.
custom_metadata {
key: "key" value: "value"
}
# Custom metadata values are stored in etc/.
custom_metadata {
key: "path_to_custom_metadata"
value: "etc/configuration/file"
}
}