Google Cloud Storage एक्सटेंशन

आपको Apigee Edge दस्तावेज़ दिख रहा है.
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है इस पेज पर जाएं Apigee X दस्तावेज़.
जानकारी

वर्शन: 1.4.1

Cloud Storage बकेट में फ़ाइलों के लिए साइन किए हुए यूआरएल की सूची बनाएं, उन्हें डाउनलोड करें, और जनरेट करें.

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इसका इस्तेमाल करने के बारे में जानकारी दी गई है. किसी API प्रॉक्सी से इस एक्सटेंशन का उपयोग करने से पहले, आपको यह करना होगा:

  1. Cloud Storage बकेट बनाएं.

  2. अपने बकेट में ऑब्जेक्ट अपलोड करें.

  3. Google Cloud Storage एक्सटेंशन को दिखाने वाले GCP सेवा खाते में बकेट को ऐक्सेस करने के लिए अनुमति दें. इस्तेमाल की जाने वाली भूमिका के बारे में ज़्यादा जानने के लिए, Cloud Storage के लिए भूमिकाएं देखें. Cloud Storage में अनुमतियों के बारे में ज़्यादा जानने के लिए, पहचान और ऐक्सेस मैनेजमेंट (आईएएम) की अनुमतियों का इस्तेमाल करना लेख पढ़ें.

  4. सेवा खाते के लिए कुंजी जनरेट करने के लिए, GCP कंसोल का इस्तेमाल करें.

  5. कॉन्फ़िगरेशन रेफ़रंस का इस्तेमाल करके, एक्सटेंशन जोड़ते और कॉन्फ़िगर करते समय, नतीजे वाली कुंजी JSON फ़ाइल के कॉन्टेंट का इस्तेमाल करें.

Cloud Storage के बारे में जानकारी

Cloud Storage एक ऐसी सेवा है जिसकी मदद से फ़ाइल को सुरक्षित, लंबे समय तक सेव रखा जा सकता है, और बढ़ाया जा सकता है. अगर आपने हाल ही में Cloud Storage का इस्तेमाल करना शुरू किया है, तो Cloud Storage के दस्तावेज़ में मौजूद क्विकस्टार्ट तरीका अपनाएं.

सैंपल

नीचे दिए गए उदाहरणों में, एक्सटेंशन कॉलआउट नीति का इस्तेमाल करके, Cloud Storage एक्सटेंशन की कार्रवाइयों के लिए सहायता कॉन्फ़िगर करने का तरीका बताया गया है.

फ़ाइलों की सूची बनाएं

यहां दिए गए उदाहरण में, एक्सटेंशन की listFiles कार्रवाई, फ़ाइलों की सूची को फिर से हासिल करती है और उन्हें अरे में दिखाती है. listFiles कार्रवाई में कोई इनपुट पैरामीटर नहीं होता.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Storage-File-List">
    <DisplayName>Get Storage File List</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>listFiles</Action>
    <Input><![CDATA[{}]]></Input>
    <Output parsed="false">storage.filelist.retrieved</Output>
</ConnectorCallout>

रिस्पॉन्स वैल्यू कुछ इस तरह दिखती है:

["example-text.txt","example-image.png"]

नीचे दी गई, 'मैसेज असाइन करें' नीति, ऊपर दी गई एक्सटेंशनकॉलआउट नीति से रिस्पॉन्स वैल्यू को इकट्ठा करती है और उसे रिस्पॉन्स पेलोड में कॉपी करती है.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.filelist.retrieved}</Payload>
    </Set>
</AssignMessage>

कोई फ़ाइल डाउनलोड करें

नीचे दी गई एक्सटेंशन की कॉल आउट नीति, Google Cloud Storage एक्सटेंशन का इस्तेमाल करके एक सामान्य टेक्स्ट फ़ाइल डाउनलोड करती है, जिसका कॉन्टेंट सिर्फ़ Some example text. होता है,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Download-File">
    <DisplayName>Download File</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>downloadFile</Action>
    <Input><![CDATA[{"fileName": "example-text.txt"}]]></Input>
    <Output>storage.file.retrieved</Output>
</ConnectorCallout>

रिस्पॉन्स वैल्यू इस तरह दिखेगी:

{"content":"Some example text."}

मैसेज असाइन करने से जुड़ी नीचे दी गई नीति, एक्सटेंशन से मिली वैल्यू को वापस लाती है और उसे रिस्पॉन्स पेलोड में कॉपी करती है.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
    <DisplayName>Assign Storage File List</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.file.retrieved}</Payload>
    </Set>
</AssignMessage>

हस्ताक्षर किया हुआ यूआरएल जनरेट करना

नीचे दी गई एक्सटेंशन कॉलआउट नीति इस एक्सटेंशन का इस्तेमाल करके, Cloud Storage बकेट से बताई गई फ़ाइल को डाउनलोड करने के लिए यूआरएल जनरेट करती है. यह फ़ाइल का नाम और उस तारीख को पास करता है जिसके बाद यूआरएल की समयसीमा खत्म हो जाती है और वह काम नहीं करता.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Signed-URL">
    <DisplayName>Get Signed URL</DisplayName>
    <Connector>cloud-storage-extension-example</Connector>
    <Action>generateSignedURL</Action>
    <Input><![CDATA[{
        "fileName" : "example-text.txt",
        "expiresOn" : "2018-08-05"
    }]]></Input>
    <Output>storage.url.retrieved</Output>
</ConnectorCallout>

एक्सटेंशन की रिटर्न वैल्यू कुछ इस तरह दिखती है.

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

मैसेज असाइन करने से जुड़ी नीचे दी गई नीति, एक्सटेंशन से मिली वैल्यू को वापस लाती है और उसे जवाब के मुख्य हिस्से में कॉपी करती है.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-URL">
    <DisplayName>Assign Storage File URL</DisplayName>
    <AssignTo type="response" createNew="false"/>
    <Set>
        <Payload contentType="application/json">{storage.url.retrieved}</Payload>
    </Set>
</AssignMessage>

कार्रवाइयां

डाउनलोड फ़ाइल

बताई गई फ़ाइल डाउनलोड करता है.

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
fileName डाउनलोड की जाने वाली फ़ाइल. स्ट्रिंग कोई नहीं. हां.

सिंटैक्स

<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>

उदाहरण

<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>

जवाब

JSON, जो डाउनलोड की गई फ़ाइल के कॉन्टेंट के साथ एक ऑब्जेक्ट दिखाता है. उदाहरण के लिए:

{"content":"Some example text."}

listFiles

यह विकल्प, डाउनलोड करने के लिए उपलब्ध फ़ाइलों की सूची बनाता है.

अनुरोध के पैरामीटर

कोई नहीं.

जवाब

फ़ाइल के नामों का कलेक्शन. उदाहरण के लिए:

["example-text.txt","example-image.png"]

generateSignedURL

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

अनुरोध के पैरामीटर

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
fileName Cloud Storage ऑब्जेक्ट का नाम, जिसके लिए साइन किया गया यूआरएल जनरेट करना है. स्ट्रिंग कोई नहीं. हां.
expiresOn वह तारीख जब हस्ताक्षर किए गए यूआरएल की समयसीमा खत्म हो जानी चाहिए. स्ट्रिंग कोई नहीं. नहीं.

सिंटैक्स

<Input><![CDATA[{
  "fileName" : "file-for-which-to-generate-url",
  "expiresOn" : "date-to-expire-url"
}]]></Input>

उदाहरण

<Input><![CDATA[{
  "fileName" : "example-text.txt",
  "expiresOn" : "2018-08-05"
}]]></Input>

जवाब

JSON, जिसमें साइन किए गए यूआरएल के साथ एक ऑब्जेक्ट दिखाया गया है. उदाहरण के लिए:

{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}

कॉन्फ़िगरेशन रेफ़रंस

एपीआई प्रॉक्सी में इस्तेमाल करने के लिए, इस एक्सटेंशन को कॉन्फ़िगर और डिप्लॉय करते समय, इनका इस्तेमाल करें. Apigee कंसोल का इस्तेमाल करके एक्सटेंशन को कॉन्फ़िगर करने का तरीका जानने के लिए, एक्सटेंशन जोड़ना और उसे कॉन्फ़िगर करना लेख पढ़ें.

सामान्य एक्सटेंशन प्रॉपर्टी

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां

इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
bucketName वह GCS बकेट, जिससे इस एक्सटेंशन को इंटरैक्ट करना चाहिए. कोई नहीं. हां.