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