إضافة Amazon S3

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

الإصدار: 2.0.1

إدارة الملفات في حزمة Amazon S3 باستخدام هذه الإضافة، يمكنك إدراج الملفات وتنزيلها وحذفها. يمكنك أيضًا إنشاء عنوان URL موقَّع لتنزيل ملف.

يعمل كل مثيل تم إعداده لهذه الإضافة مع حزمة معيّنة. بالنسبة إلى الحِزم المتعدّدة، استخدِم نسخة تم ضبطها من هذه الإضافة لكل حزمة.

المتطلبات الأساسية

قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة ExtensionCallout، عليك إجراء ما يلي:

ستحتاج إلى هذه المعلومات، بالإضافة إلى اسم حزمة AWS ومنطقة AWS، من أجل ضبط هذه الإضافة.

لمحة عن Amazon S3

Amazon Simple Storage Service (Amazon S3) هي خدمة لتخزين العناصر.

المهام

deleteFile

يحذف هذا الإجراء الملف المحدّد من حزمة S3.

البنية

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

مثال

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

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

المَعلمة الوصف النوع تلقائي مطلوب
fileName اسم الملف المطلوب حذفه. سلسلة بلا عُري نعم.

الردّ

بلا عُري

سمات الرد

بلا عُري

downloadFile

تنزيل الملف المحدّد من حزمة S3

البنية

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

مثال

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

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

المَعلمة الوصف النوع تلقائي مطلوب
fileName اسم الملف المطلوب تنزيله سلسلة بلا عُري نعم.

الردّ

ملف JSON يتضمّن السمة content التي تحتوي على محتوى الملف

{
  "content":"Hello World!"
}

سمات الرد

الموقع الوصف النوع تلقائي
المحتوى سلسلة تحتوي على محتوى الملف المطلوب سلسلة. بلا عُري

generateSignedURL

تنشئ هذه الدالة عنوان URL موقَّعًا لتنزيل الملف المحدّد من حزمة S3.

البنية

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

مثال

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

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

المَعلمة الوصف النوع تلقائي مطلوب
fileName اسم الملف المطلوب تنزيله سلسلة بلا عُري نعم.
expiresIn تمثّل هذه السمة المدة بالثواني إلى أن تنتهي صلاحية عنوان URL. عدد صحيح 86400 لا.

الردّ

ملف JSON يتضمّن السمة url من النوع "سلسلة" التي تحتوي على عنوان URL الذي تم إنشاؤه

{
  "url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}

سمات الرد

الموقع الوصف النوع تلقائي
url عنوان URL للملف المطلوب سلسلة بلا عُري

listFiles

يستدعي تنفيذ دالة AWS Lambda.

البنية

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

يجب تحديد parsed="false" في عنصر <Output> إذا كنت تريد أن يحتوي المتغير على JSON غير معالَج. وفي ما عدا ذلك، لا يمكن استخدام المتغيّر.

مثال

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

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

بلا عُري

الردّ

مجموعة من أسماء ملفات S3.

["hello_world.txt"]

سمات الرد

بلا عُري

مرجع الإعدادات

استخدِم ما يلي عند ضبط هذه الإضافة ونشرها لاستخدامها في خوادم API الوكيلة. للاطّلاع على خطوات إعداد إضافة باستخدام وحدة تحكّم Apigee، راجِع إضافة إضافة وإعدادها.

خصائص الإضافة الشائعة

السمات التالية متاحة لكل إضافة.

الموقع الوصف تلقائي عنصر مطلوب
name الاسم الذي تُعطِه هذه الإضافة من الإضافات. لا ينطبق متوافق
packageName اسم حزمة الإضافة كما هو مُوضَّح من Apigee Edge. لا ينطبق متوافق
version رقم إصدار حزمة الإضافة التي تجري عملية إعداد الإضافة منها. لا ينطبق متوافق
configuration قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق

سمات حزمة الإضافة هذه

حدِّد قيمًا لخصائص الإعداد التالية الخاصة بهذه الإضافة.

الموقع الوصف تلقائي مطلوب
الإعدادات أدخِل اسم حزمة Amazon S3 التي تريد استخدامها، مثل sample-bucket. بلا عُري نعم.
الإعدادات أدخِل اسم منطقة AWS التي تريد استخدامها، مثل us-east-2. بلا عُري نعم.
بيانات الاعتماد عند إدخالها في وحدة تحكّم Apigee Edge، يكون هذا ملف JSON يحتوي على معرّف مفتاح الوصول ومفتاح الوصول إلى Amazon بالشكل التالي:

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

عند إرسالها باستخدام Management API، تكون قيمة بترميز base64 تم إنشاؤها من ملف JSON الخاص بالمفتاح.
بلا عُري نعم.