أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الإصدار: 2.0.2
إدراج الملفات وتنزيلها وإنشاء عناوين URL موقّعة لها في حزمة Cloud Storage
يوفّر هذا المحتوى مرجعًا لإعداد هذه الإضافة واستخدامها. قبل استخدام هذه الإضافة من خادم وكيل لواجهة برمجة التطبيقات، عليك إجراء ما يلي:
حمِّل العناصر إلى الحزمة.
امنح الإذن بالوصول إلى الحزمة لحساب خدمة Google Cloud الذي يمثّل إضافة Google Cloud Storage. لمزيد من المعلومات عن الدور الذي يجب استخدامه، راجِع أدوار Cloud Storage. لمزيد من المعلومات عن الأذونات في Cloud Storage، يُرجى الاطّلاع على استخدام أذونات "إدارة الهوية وإمكانية الوصول".
استخدِم محتوى ملف مفتاح JSON الناتج عند إضافة الإضافة وإعدادها باستخدام مرجع الإعداد.
لمحة عن Cloud Storage
Cloud Storage هي خدمة لتخزين الملفات بشكل آمن وموثوق وقابل للتوسيع. إذا كنت مبتدئًا في استخدام Cloud Storage، يمكنك البدء من خلال البدء السريع في مستندات Cloud Storage.
نماذج
توضّح الأمثلة التالية كيفية ضبط إعدادات دعم إجراءات إضافة Cloud Storage باستخدام سياسة ExtensionCallout.
عرض قائمة الملفات
في المثال التالي، يستردّ الإجراء 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"]
تستردّ سياسة "تحديد الرسالة" التالية قيمة الاستجابة من سياسة ExtensionCallout وتنسخها في حمولة الاستجابة.
<?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>
تنزيل ملف
تستخدِم سياسة ExtensionCallout التالية إضافة 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>
إنشاء عنوان URL موقَّع
تستخدم سياسة ExtensionCallout التالية هذه الإضافة لإنشاء عنوان URL لتنزيل الملف المحدّد من حزمة Cloud Storage. يتم تمرير اسم الملف مع التاريخ الذي يجب أن تنتهي بعده صلاحية عنوان URL ويتوقف عن العمل.
<?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
تنزيل الملف المحدّد
مَعلمات الطلب
| المَعلمة | الوصف | النوع | تلقائي | مطلوب |
|---|---|---|---|---|
| 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
تنشئ هذه الطريقة عنوان URL موقّعًا للملف المحدّد في الحزمة. يمكن استخدام عنوان URL هذا لتنزيل الملف.
مَعلمات الطلب
| المَعلمة | الوصف | النوع | تلقائي | مطلوب |
|---|---|---|---|---|
| fileName | اسم عنصر Cloud Storage الذي سيتم إنشاء عنوان URL موقّع له. | سلسلة | بلا عُري | نعم. |
| expiresOn | تاريخ انتهاء صلاحية عنوان URL الموقَّع | سلسلة | بلا عُري | لا. |
البنية
<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 موقّعًا. على سبيل المثال:
{"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"}
مرجع الإعدادات
استخدِم ما يلي عند ضبط هذه الإضافة ونشرها لاستخدامها في خوادم API الوكيلة. للاطّلاع على خطوات إعداد إضافة باستخدام وحدة تحكّم Apigee، يُرجى الرجوع إلى إضافة إضافة وإعدادها.
خصائص الإضافة الشائعة
السمات التالية متاحة لكل إضافة.
| الموقع | الوصف | تلقائي | عنصر مطلوب |
|---|---|---|---|
name |
الاسم الذي تُعطِه هذه الإضافة من الإضافات. | لا ينطبق | متوافق |
packageName |
اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. | لا ينطبق | متوافق |
version |
رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. | لا ينطبق | متوافق |
configuration |
قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه | لا ينطبق | متوافق |
سمات حزمة الإضافة هذه
| الموقع | الوصف | تلقائي | مطلوب |
|---|---|---|---|
| bucketName | حزمة GCS التي يجب أن تتفاعل معها هذه الإضافة. | بلا عُري | نعم. |