إضافة 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!"
}

خصائص الاستجابة

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

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 قيمة الإعداد المتعلقة بالإضافة التي تدرجها الاطّلاع على خصائص حزمة الإضافات هذه لا ينطبق متوافق

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

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

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

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

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