إضافة Amazon S3

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

الإصدار: 1.0.0

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

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

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

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

لمحة عن 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!"
}

سمات الردّ

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

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"]

سمات الردّ

بلا عُري

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

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

سمات الإضافة الشائعة

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

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

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

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

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

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

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