شما در حال مشاهده مستندات Apigee Edge هستید.
به مستندات Apigee X مراجعه کنید . اطلاعات
نسخه: ۲.۰.۲
فهرست کردن، دانلود کردن و تولید URL های امضا شده برای فایل ها در یک فضای ذخیره سازی ابری .
این محتوا مرجعی برای پیکربندی و استفاده از این افزونه ارائه میدهد. قبل از استفاده از این افزونه از طریق یک پروکسی API، باید:
مجوز دسترسی به سطل را به حساب سرویس Google Cloud که نشاندهنده افزونه Google Cloud Storage شماست، اعطا کنید . برای اطلاعات بیشتر در مورد نقش مورد استفاده، به نقشهای Cloud Storage مراجعه کنید. برای اطلاعات بیشتر در مورد مجوزها در Cloud Storage، به استفاده از مجوزهای مدیریت هویت و دسترسی (IAM) مراجعه کنید.
از کنسول گوگل کلود برای ایجاد کلید برای حساب سرویس استفاده کنید .
هنگام افزودن و پیکربندی افزونه با استفاده از مرجع پیکربندی ، از محتویات فایل JSON کلید حاصل استفاده کنید.
درباره فضای ذخیرهسازی ابری
فضای ذخیرهسازی ابری (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"]
سیاست Assign Message زیر مقدار پاسخ را از سیاست ExtensionCallout بازیابی کرده و آن را در payload پاسخ کپی میکند.
<?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."}
سیاست Assign Message زیر، مقدار برگردانده شده توسط افزونه را بازیابی کرده و آن را در payload پاسخ کپی میکند.
<?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 برای دانلود فایل مشخصشده از مخزن ذخیرهسازی ابری استفاده میکند. این خطمشی نام فایل را به همراه تاریخی که پس از آن 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"}
سیاست Assign Message زیر، مقدار برگردانده شده توسط افزونه را بازیابی کرده و آن را در بدنه پاسخ کپی میکند.
<?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>
اقدامات
دانلودفایل
فایل مشخص شده را دانلود میکند.
پارامترهای درخواست
| پارامتر | توضیحات | نوع | پیشفرض | مورد نیاز |
|---|---|---|---|---|
| نام فایل | فایلی که باید دانلود کنید. | رشته | هیچ کدام. | بله. |
نحو
<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>
مثال
<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>
پاسخ
JSON که نشاندهنده یک شیء با محتوای فایل دانلود شده است. برای مثال:
{"content":"Some example text."}
لیست فایلها
فایلهای موجود برای دانلود را فهرست میکند.
پارامترهای درخواست
هیچ کدام.
پاسخ
آرایهای از نام فایلها. برای مثال:
["example-text.txt","example-image.png"]
generateSignedURL
یک URL امضا شده برای فایل مشخص شده در سطل ایجاد میکند. از این URL میتوان برای دانلود فایل استفاده کرد.
پارامترهای درخواست
| پارامتر | توضیحات | نوع | پیشفرض | مورد نیاز |
|---|---|---|---|---|
| نام فایل | نام شیء ذخیرهسازی ابری که برای آن یک URL امضا شده تولید میشود. | رشته | هیچ کدام. | بله. |
| منقضی میشود | تاریخی که 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"}
مرجع پیکربندی
هنگام پیکربندی و استقرار این افزونه برای استفاده در پروکسیهای API، از موارد زیر استفاده کنید. برای مراحل پیکربندی یک افزونه با استفاده از کنسول Apigee، به بخش افزودن و پیکربندی یک افزونه مراجعه کنید.
ویژگیهای افزونههای رایج
ویژگی های زیر برای هر افزونه وجود دارد.
| ویژگی | شرح | پیش فرض | ضروری |
|---|---|---|---|
name | نامی که به این پیکربندی افزونه میدهید. | هیچ یک | آره |
packageName | نام بسته افزودنی همانطور که توسط Apigee Edge داده شده است. | هیچ یک | آره |
version | شماره نسخه بسته برنامه افزودنی که از آن یک برنامه افزودنی را پیکربندی می کنید. | هیچ یک | آره |
configuration | مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید | هیچ یک | آره |
ویژگیهای این بسته الحاقی
| ملک | توضیحات | پیشفرض | مورد نیاز |
|---|---|---|---|
| نام سطل | سطل GCS که این افزونه باید با آن تعامل داشته باشد. | هیچ کدام. | بله. |