इस दस्तावेज़ में, किसी सर्वर या ब्राउज़र से टास्क की जानकारी पाने के तरीकों के बारे में बताया गया है. फ़्लीट इंजन में टास्क ढूंढने के दो तरीके हैं:
टास्क खोजें: इन आईडी की मदद से टास्क देखे जा सकते हैं:
- टास्क आईडी: इसका इस्तेमाल फ़्लीट ऑपरेटर जैसे उपयोगकर्ता करते हैं. इनके पास टास्क के डेटा के पूरे व्यू का ऐक्सेस होता है.
- ट्रैकिंग ID: आपके क्लाइंट सॉफ़्टवेयर द्वारा सीमित जानकारी प्रदान करने के लिए उपयोग किया जाता है असली उपयोगकर्ता को भेजना. जैसे, उसके घर पर पैकेज मिलने की उम्मीद हो.
टास्क आईडी और टास्क ट्रैकिंग आईडी के बीच का अंतर समझना न भूलें. वे एक समान नहीं होते हैं. बेसिक टास्क फ़ील्ड को इसमें देखें: शेड्यूल किए गए टास्क से जुड़ी गाइड.
टास्क की सूची बनाना: टास्क का पूरा ऐक्सेस, जो सिर्फ़ भरोसेमंद उपयोगकर्ताओं के लिए है.
टास्क खोजें
इस सेक्शन में बताया गया है कि टास्क आईडी या ट्रैकिंग आईडी की मदद से टास्क कैसे देखें. इसमें हैं ये ज़रूरी शर्तें:
ट्रैकिंग आईडी से किए जाने वाले लुकअप को 'किसको दिखे' सेटिंग के नियमों का पालन करना होगा ट्रैक किए गए ऑब्जेक्ट के लिए 'किसको दिखे' सेटिंग के नियम में बताया गया है.
सुरक्षा से जुड़े खतरों को कम करने के लिए, सबसे छोटे टोकन का इस्तेमाल करें. उदाहरण के लिए, अगर किसी डिलीवरी कंज़्यूमर टोकन का इस्तेमाल करना चाहिए, तो सिर्फ़ उस असली उपयोगकर्ता से जुड़ी जानकारी होनी चाहिए, जैसे कि शिपर या एक शिपमेंट भेजने वाले को. फ़्लीट इंजन, जवाब. टोकन के बारे में ज़्यादा जानकारी के लिए, JSON वेब टोकन देखें.
टास्क आईडी से टास्क खोजें
gRPC या आराम नीचे दिए गए उदाहरण Java gRPC लाइब्रेरी के इस्तेमाल का तरीका या GetTask के लिए REST अनुरोध.
gRPC
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TASK_ID = "task-8597549";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Task request
String taskName = "providers/" + PROJECT_ID + "/tasks/" + TASK_ID;
GetTaskRequest getTaskRequest = GetTaskRequest.newBuilder() // No need for the header
.setName(taskName)
.build();
try {
Task task = deliveryService.getTask(getTaskRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
आराम
GET https://fleetengine.googleapis.com/v1/providers/<project_id>/tasks/<taskId>
- <id>, टास्क के लिए यूनीक आइडेंटिफ़ायर है.
- <taskId> खोजी जाने वाली टास्क का आईडी है.
- अनुरोध के हेडर में वैल्यू के साथ Authorization फ़ील्ड होना ज़रूरी है Bearer <token>, जहां आपके सर्वर ने <token> जारी किया है सेवा खाते की भूमिकाओं में बताए गए दिशा-निर्देशों के मुताबिक होना चाहिए और JSON वेब टोकन.
- अनुरोध का मुख्य हिस्सा खाली होना चाहिए.
- अगर खोज पूरी होती है, तो जवाब के मुख्य हिस्से में एक टास्क इकाई शामिल होती है.
curl
कमांड का उदाहरण:
# Set JWT, PROJECT_ID, and TASK_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/tasks/${TASK_ID}"
ट्रैकिंग आईडी की मदद से टास्क देखना
यहां दिए गए उदाहरण में, टास्क को उनके शिपमेंट ट्रैकिंग आईडी से खोजने का तरीका बताया गया है
gRPC या GetTaskTrackingInfo
पर एचटीटीपी REST कॉल का इस्तेमाल करके.
gRPC
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TRACKING_ID = "TID-7449w087464x5";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
GetTaskTrackingInfoRequest getTaskTrackingInfoRequest = GetTaskTrackingInfoRequest.newBuilder() // No need for the header
.setParent(parent)
.setTrackingId(TRACKING_ID)
.build();
try {
TaskTrackingInfo taskTrackingInfo = deliveryService.getTaskTrackingInfo(getTaskTrackingInfoRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
आराम
GET https://fleetengine.googleapis.com/v1/providers/<project_id>/taskTrackingInfo/<tracking_id>
<tracking_id> टास्क से जुड़ा ट्रैकिंग आईडी है.
अनुरोध के हेडर में वैल्यू के साथ Authorization फ़ील्ड होना ज़रूरी है Bearer <token>, जहां <token> सही सेवा देता है खाता ऐक्सेस करने की ज़रूरी शर्तें पूरी करते हैं. सेवा खाते की भूमिकाएं देखें.
अगर लुकअप सफल होता है, तो जवाब के मुख्य भाग में taskTrackingInfo इकाई है.
curl
निर्देश का उदाहरण:
# Set JWT, PROJECT_ID, and TRACKING_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/taskTrackingInfo/${TRACKING_ID}"
टास्क की सूची
लिस्टिंग से जुड़े टास्क के लिए, टास्क के ऐक्सेस का अनुरोध करना होता है. लिस्टिंग से जुड़े टास्क सिर्फ़ इनके लिए हैं भरोसेमंद उपयोगकर्ता हैं. सूची में टास्क जोड़ने के अनुरोध करते समय, डिलीवरी फ़्लीट रीडर या डिलीवरी एडमिन के ऑथेंटिकेशन टोकन का इस्तेमाल करें. ज़्यादा जानकारी के लिए, सेवा खाते की भूमिकाएं देखें जानकारी.
सूची पर नंबर डालें
टास्क की सूचियों को पेजों में बांटा गया है. टास्क की सूची के अनुरोधों में, पेज का साइज़ तय किया जा सकता है. अगर पेज का साइज़ बताया गया है, तो लौटाए गए टास्क की संख्या इससे ज़्यादा नहीं होती तय पेज साइज़ से ज़्यादा है. अगर कोई पेज साइज़ मौजूद नहीं है, तो यह एक वाजिब डिफ़ॉल्ट साइज़ है का इस्तेमाल किया जाता है. अगर अनुरोध किए गए पेज का साइज़ अंदरूनी अधिकतम मान से ज़्यादा है, तो आंतरिक अधिकतम का इस्तेमाल किया जाता है.
टास्क की सूची में, नतीजों के अगले पेज को पढ़ने के लिए टोकन शामिल हो सकता है. यहां की यात्रा पर हूं तो उस अगले पेज को वापस पाने के लिए, पेज टोकन के साथ वही अनुरोध फिर से जारी करें. जब लौटाया गया पेज टोकन खाली होता है, तो के लिए और टास्क उपलब्ध नहीं होते वापस पाना.
टास्क को लिस्ट करने के दौरान दिखने वाले फ़ील्ड
टास्क की सूची बनाते समय, फ़्लीट इंजन इन फ़ील्ड को छिपाने के लिए बदलाव करता है:
VehicleStop.planned_location
VehicleStop.state
VehicleStop.TaskInfo.taskId
Google API सुधार के प्रस्तावों के आधार पर नीचे दिए गए फ़ील्ड फ़ॉर्मैट का इस्तेमाल करें:
फ़ील्ड प्रकार | फ़ॉर्मैट | उदाहरण |
---|---|---|
टाइमस्टैंप | RFC-3339 | task_outcome_time = 2022-03-01T11:30:00-08:00 |
कुल समय | s के बाद सेकंड की संख्या |
task_duration = 120s |
Enum | स्ट्रिंग | state = CLOSED AND type = PICKUP |
जगह | point.latitude और point.longitude |
planned_location.point.latitude > 36.1 AND planned_location.point.longitude < -122.0 |
सूची में दिए गए टास्क को फ़िल्टर करें
सूची में शामिल टास्क को ज़्यादातर टास्क प्रॉपर्टी के हिसाब से फ़िल्टर किया जा सकता है. फ़िल्टर क्वेरी सिंटैक्स के लिए, AIP-160 देखें. अगर कोई फ़िल्टर क्वेरी नहीं दी गई है, तो सभी टास्क सूची में दिखते हैं.
इस टेबल में मान्य टास्क प्रॉपर्टी दी गई हैं, जिनका इस्तेमाल फ़िल्टर करने के लिए किया जा सकता है:
सूचियों को फ़िल्टर करने के लिए टास्क प्रॉपर्टी | |
---|---|
|
|
फ़िल्टर क्वेरी ऑपरेटर की पूरी सूची के लिए, AIP-160 देखें.
सूची टास्क के उदाहरण
नीचे दिए गए उदाहरण में, deliveryVehicleId
और
टास्क एट्रिब्यूट, दोनों के साथ Java gRPC लाइब्रेरी और एचटीटीपी REST कॉल टू
ListTasks
.
सफल जवाब अब भी खाली हो सकता है. खाली जवाब का मतलब है कि नहीं
दिए गए deliveryVehicleId
से जुड़े टास्क.
gRPC
static final String PROJECT_ID = "my-delivery-co-gcp-project";
static final String TRACKING_ID = "TID-7449w087464x5";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListTasksRequest listTasksRequest = ListTasksRequest.newBuilder() // No need for the header
.setParent(parent)
.setFilter("delivery_vehicle_id = 123 AND attributes.foo = true")
.build();
try {
ListTasksResponse listTasksResponse = deliveryService.listTasks(listTasksRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
आराम
GET https://fleetengine.googleapis.com/v1/providers/<project_id>/tasks
सूची में दिए गए टास्क पर कोई फ़िल्टर लगाने के लिए, "फ़िल्टर" शामिल करें इसकी वैल्यू के तौर पर, यूआरएल-एस्केप्ड फ़िल्टर क्वेरी वाला यूआरएल पैरामीटर.
अनुरोध के हेडर में वैल्यू के साथ Authorization फ़ील्ड होना ज़रूरी है Bearer <token>, जहां <token> सही सेवा देता है खाता ऐक्सेस करने की ज़रूरी शर्तें पूरी करते हैं. सेवा खाते की भूमिकाएं देखें.
लुकअप के सही तरीके से काम करने पर, रिस्पॉन्स बॉडी का स्ट्रक्चर इस तरह का होता है:
// JSON representation
{
"tasks": [
{
object (Task)
}
],
"nextPageToken": string,
"totalSize": integer
}
curl
कमांड का उदाहरण:
# Set JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/tasks?filter=state%20%3D%20OPEN%20AND%20delivery_vehicle_id%20%3D%20${VEHICLE_ID}"