Amazon S3 एक्सटेंशन

Apigee Edge के दस्तावेज़ देखे जा रहे हैं.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

वर्शन: 2.0.2

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

इस एक्सटेंशन का हर कॉन्फ़िगर किया गया इंस्टेंस, किसी खास बकेट के साथ काम करता है. एक से ज़्यादा बकेट के लिए, हर बकेट के लिए इस एक्सटेंशन के कॉन्फ़िगर किए गए इंस्टेंस का इस्तेमाल करें.

ज़रूरी शर्तें

ExtensionCallout नीति का इस्तेमाल करके, एपीआई प्रॉक्सी से एक्सटेंशन का इस्तेमाल करने से पहले, आपको ये काम करने होंगे:

इस एक्सटेंशन को कॉन्फ़िगर करने के लिए, आपको AWS बकेट के नाम और AWS क्षेत्र के साथ-साथ इनकी भी ज़रूरत होगी.

Amazon S3 के बारे में जानकारी

Amazon Simple Storage Service (Amazon S3) एक ऑब्जेक्ट स्टोरेज सेवा है.

कार्रवाइयां

deleteFile

यह कमांड, S3 बकेट से चुनी गई फ़ाइल को मिटाती है.

सिंटैक्स

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

उदाहरण

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

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

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

जवाब

कोई नहीं.

जवाब की प्रॉपर्टी

कोई नहीं.

downloadFile

यह कमांड, किसी S3 बकेट से बताई गई फ़ाइल को डाउनलोड करती है.

सिंटैक्स

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

उदाहरण

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

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

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

जवाब

content प्रॉपर्टी वाला JSON, जिसमें फ़ाइल का कॉन्टेंट शामिल होता है.

{
  "content":"Hello World!"
}

जवाब की प्रॉपर्टी

प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट
कॉन्टेंट इस स्ट्रिंग में, अनुरोध की गई फ़ाइल का कॉन्टेंट होता है. स्ट्रिंग. कोई नहीं.

generateSignedURL

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

सिंटैक्स

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

उदाहरण

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

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

पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
fileName डाउनलोड की जाने वाली फ़ाइल का नाम. स्ट्रिंग कोई नहीं. हां.
expiresIn यूआरएल की समयसीमा खत्म होने में बचे हुए सेकंड. पूर्णांक 86400 नहीं.

जवाब

जनरेट किए गए यूआरएल वाली url स्ट्रिंग प्रॉपर्टी के साथ JSON.

{
  "url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}

जवाब की प्रॉपर्टी

प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट
URL अनुरोध की गई फ़ाइल का यूआरएल. स्ट्रिंग कोई नहीं.

listFiles

यह AWS Lambda फ़ंक्शन को शुरू करता है.

सिंटैक्स

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

अगर आपको वैरिएबल में रॉ JSON शामिल करना है, तो आपको <Output> एलिमेंट पर parsed="false" को सेट करना होगा. ऐसा न करने पर, वैरिएबल का इस्तेमाल नहीं किया जा सकेगा.

उदाहरण

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

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

कोई नहीं.

जवाब

S3 फ़ाइल के नामों की एक कैटगरी.

["hello_world.txt"]

जवाब की प्रॉपर्टी

कोई नहीं.

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

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

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

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

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

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

इस एक्सटेंशन के लिए, कॉन्फ़िगरेशन की इन प्रॉपर्टी की वैल्यू तय करें.

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
कॉन्फ़िगरेशन इस्तेमाल की जाने वाली Amazon S3 बकेट का नाम डालें. जैसे, sample-bucket. कोई नहीं. हां.
कॉन्फ़िगरेशन इस्तेमाल किए जाने वाले AWS क्षेत्र का नाम डालें, जैसे कि us-east-2. कोई नहीं. हां.
क्रेडेंशियल Apigee Edge कंसोल में डालने पर, यह एक JSON फ़ाइल होती है. इसमें आपका Amazon ऐक्सेस कुंजी आईडी और ऐक्सेस कुंजी इस फ़ॉर्म में होती है:

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

Management API का इस्तेमाल करके भेजने पर, यह उस कुंजी की JSON फ़ाइल से जनरेट की गई base64-encoded वैल्यू होती है.
कोई नहीं. हां.