أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
الإصدار: 1.4.1
إدراج عناوين URL مُوقَّعة وتنزيلها وإنشاؤها للملفات في حزمة Cloud Storage
يوفّر هذا المحتوى مرجعًا لإعداد هذه الإضافة واستخدامها. قبل استخدام هذه الإضافة من خادم وكيل لواجهة برمجة التطبيقات، عليك تنفيذ ما يلي:
حمِّل العناصر إلى حزمتك.
امنح الإذن للوصول إلى الحزمة إلى حساب خدمة Google Cloud Platform الذي يمثّل إضافة Google Cloud Storage. لمزيد من المعلومات حول الدور الذي تريد استخدامه، يُرجى الاطّلاع على أدوار Cloud Storage. لمزيد من المعلومات عن الأذونات في Cloud Storage، يُرجى الاطّلاع على مقالة استخدام أذونات "إدارة الهوية وإمكانية الوصول" (IAM).
استخدِم "وحدة تحكُّم Google Cloud Platform" لإنشاء مفتاح لحساب الخدمة.
استخدِم محتوى ملف 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>
المهام
تنزيل الملف
يتم تنزيل الملف المحدّد.
معلمات الطلب
المعلمة | الوصف | النوع | تلقائي | مطلوب |
---|---|---|---|---|
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 التي يجب أن تتفاعل معها هذه الإضافة. | بلا عُري | نعم. |