افزونه Amazon S3

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

نسخه: 1.1.1

فایل‌ها را در مخزن Amazon S3 مدیریت کنید. با این افزونه می‌توانید فایل‌ها را فهرست کنید، بارگیری کنید، و حذف کنید. همچنین می‌توانید نشانی وب امضاشده‌ای برای بارگیری فایل تولید کنید.

هر نمونه پیکربندی‌شده از این افزونه با یک مخزن خاص کار می‌کند. برای چند مخزن، برای هر مخزن از نمونه پیکربندی‌شده این افزونه استفاده کنید.

پیش‌نیازها

قبل‌از استفاده از افزونه از یک پراکسی API بااستفاده از خط‌مشی 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

نشانی وب امضاشده‌ای برای بارگیری فایل مشخص‌شده از باکت 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 مدت زمان به ثانیه تا انقضای نشانی وب. عدد صحیح 86400 شماره.

پاسخ

‫JSON با دارایی رشته‌ای url حاوی نشانی وب تولیدشده.

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

خصوصیت‌های پاسخ

دارایی شرح نوع پیش‌فرض
نشانی وب نشانی وب فایل درخواستی. رشته هیچ‌کدام.

listFiles

اجرای تابع AWS Lambda را فرا می‌خواند.

نحو

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

اگر می‌خواهید متغیر حاوی JSON خام باشد، باید parsed="false" را در عنصر <Output> مشخص کنید. درغیراین‌صورت، متغیر قابل‌استفاده نیست.

مثال

<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
}

وقتی ازطریق API مدیریت ارسال می‌شود، این مقدار کدبندی‌شده base64 است که از آن فایل JSON کلید تولید شده است.
هیچ‌کدام. بله.