REST Resource: operations

संसाधन: कार्रवाई

यह संसाधन, लंबे समय तक चलने वाली कार्रवाई को दिखाता है, जो कि नेटवर्क एपीआई कॉल की वजह से होती है.

JSON के काेड में दिखाना
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
फ़ील्ड
name

string

सर्वर का असाइन किया गया नाम. यह नाम सिर्फ़ उस सेवा के लिए यूनीक होता है जिससे वह मूल रूप से मैच करता है. अगर आपने डिफ़ॉल्ट एचटीटीपी मैपिंग का इस्तेमाल किया है, तो name, संसाधन का नाम होना चाहिए जिसके आखिर में operations/{unique_id} हो.

metadata

object

अगर claimAsync, unclaimAsync या updateMetadataAsync ने कोई कार्रवाई बनाई है, तो इस फ़ील्ड में एक DevicesLongRunningOperationMetadata ऑब्जेक्ट होगा.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

अगर वैल्यू false है, तो इसका मतलब है कि कार्रवाई अब भी चल रही है. अगर true है, तो कार्रवाई पूरी हो गई है और error या response उपलब्ध है.

यूनियन फ़ील्ड result. कार्रवाई का नतीजा, जो कोई error या मान्य response हो सकता है. अगर done == false है, तो error या response में से कोई भी वैल्यू सेट नहीं होती. अगर done == true है, तो error या response में से कोई एक सेट हो सकता है. ऐसा हो सकता है कि कुछ सेवाओं पर आपको नतीजा न मिले. result इनमें से सिर्फ़ एक हो सकता है:
error

object (Status)

अगर claimAsync, unclaimAsync या updateMetadataAsync ने यह फ़ील्ड बनाया है, तो यह फ़ील्ड हमेशा सेट नहीं होगा. इस मामले में, हर डिवाइस के लिए गड़बड़ी की जानकारी response.perDeviceStatus.result.status में सेट है.

response

object

अगर claimAsync, unclaimAsync या updateMetadataAsync ने कोई कार्रवाई बनाई है, तो इस फ़ील्ड में एक DevicesLongRunningOperationResponse ऑब्जेक्ट होगा.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

स्थिति

Status टाइप, लॉजिकल एरर मॉडल के बारे में बताता है, जो अलग-अलग प्रोग्रामिंग एनवायरमेंट के लिए सही होता है. इनमें REST API और RPC एपीआई शामिल हैं. इसका इस्तेमाल gRPC करता है. हर Status मैसेज में डेटा के तीन हिस्से होते हैं: गड़बड़ी का कोड, गड़बड़ी का मैसेज, और गड़बड़ी की जानकारी.

आपको एपीआई डिज़ाइन गाइड में, गड़बड़ी वाले इस मॉडल और इसके साथ काम करने के तरीके के बारे में ज़्यादा जानकारी मिल सकती है.

JSON के काेड में दिखाना
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
फ़ील्ड
code

integer

स्टेटस कोड, जो google.rpc.Code की enum वैल्यू होनी चाहिए.

message

string

डेवलपर को भेजा जाने वाला गड़बड़ी का मैसेज, जो अंग्रेज़ी में होना चाहिए. उपयोगकर्ता को दिखने वाली गड़बड़ी के किसी भी मैसेज को स्थानीय भाषा में लिखा जाना चाहिए और google.rpc.Status.details फ़ील्ड में भेजा जाना चाहिए या क्लाइंट की ओर से स्थानीय भाषा में भेजा जाना चाहिए.

details[]

object

उन मैसेज की सूची जिनमें गड़बड़ी की जानकारी होती है. एपीआई के इस्तेमाल के लिए, मैसेज के टाइप का एक सामान्य सेट मौजूद है.

ऐसा ऑब्जेक्ट जिसमें आर्बिट्रेरी टाइप के फ़ील्ड शामिल होते हैं. अतिरिक्त फ़ील्ड "@type" में, टाइप की पहचान करने वाला यूआरआई होता है. उदाहरण: { "id": 1234, "@type": "types.example.com/standard/id" }.

तरीके

get

लंबे समय तक चलने वाले ऑपरेशन की नई स्थिति की जानकारी देता है.