إضافة Google Cloud Storage

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

الإصدار: 1.4.1

أدرِج عناوين URL الموقَّعة ونزِّلها وأنشئها للملفات في حزمة Cloud Storage.

يوفر هذا المحتوى مرجعًا لضبط هذه الإضافة واستخدامها. قبل استخدام هذه الإضافة من خادم وكيل لواجهة برمجة التطبيقات، يجب:

  1. أنشئ حزمة في Cloud Storage.

  2. تحميل العناصر إلى حزمتك

  3. امنح الإذن للوصول إلى الحزمة إلى حساب خدمة Google Cloud Platform الذي يمثّل إضافة Google Cloud Storage. لمزيد من المعلومات عن الدور المطلوب استخدامه، يُرجى الاطّلاع على أدوار Cloud Storage. لمزيد من المعلومات حول الأذونات في Cloud Storage، يُرجى الاطّلاع على استخدام أذونات إدارة الهوية والوصول (IAM).

  4. استخدِم وحدة تحكُّم Google Cloud Platform لإنشاء مفتاح لحساب الخدمة.

  5. استخدِم محتوى ملف 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

لتنزيل الملف المحدّد.

مَعلمات الطلب

المَعلمة الوصف Type تلقائي مطلوبة
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 هذا لتنزيل الملف.

مَعلمات الطلب

المَعلمة الوصف Type تلقائي مطلوبة
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 التي يجب أن تتفاعل معها هذه الإضافة. بلا عُري نعم.