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 में अनुमतियों के बारे में ज़्यादा जानने के लिए, पहचान और ऐक्सेस मैनेजमेंट (IAM) अनुमतियों का इस्तेमाल करना देखें.

  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>

कार्रवाइयाँ

downloadFile

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

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

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

सिंटैक्स

<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

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

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

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

सिंटैक्स

<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 बकेट, जिससे इस एक्सटेंशन को इंटरैक्ट करना चाहिए. कोई नहीं. हां.