أنت تعرض مستندات 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، يُرجى الاطّلاع على إضافة إضافة وضبطها.
خصائص الإضافات الشائعة
The following properties are present for every extension.
Property | Description | Default | Required |
---|---|---|---|
name |
Name you're giving this configuration of the extension. | None | Yes |
packageName |
Name of the extension package as given by Apigee Edge. | None | Yes |
version |
Version number for the extension package from which you're configuring an extension. | None | Yes |
configuration |
Configuration value specific to the extension you're adding. See Properties for this extension package | None | Yes |
خصائص حزمة الإضافات هذه
الموقع | الوصف | تلقائي | مطلوب |
---|---|---|---|
bucketName | حزمة GCS التي يجب أن تتفاعل معها هذه الإضافة. | بلا عُري | نعم. |