Google Cloud Storage Extension

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

نسخه: 2.0.2

فایل‌های موجود در باکت Cloud Storage را فهرست کنید، بارگیری کنید، و نشانی‌های وب امضاشده برای آن‌ها تولید کنید.

این محتوا مرجعی برای پیکربندی و استفاده از این افزونه ارائه می‌دهد. قبل‌از استفاده از این افزونه از یک پراکسی API، باید:

  1. ایجاد یک مخزن Cloud Storage.

  2. بارگذاری اشیا در مخزن.

  3. برای دسترسی به مخزن، به حساب سرویس Google Cloud که نشان‌دهنده افزونه Google Cloud Storage شما است اجازه دهید. برای اطلاعات بیشتر درباره نقش مورد استفاده، به نقش‌های Cloud Storage مراجعه کنید. برای اطلاعات بیشتر درباره اجازه‌ها در Cloud Storage، به استفاده از اجازه‌های «هویت و مدیریت دسترسی» (IAM) مراجعه کنید.

  4. از «کنسول Google Cloud» برای تولید کلید حساب سرویس استفاده کنید.

  5. از محتوای فایل JSON کلید حاصل هنگام افزودن و پیکربندی افزونه بااستفاده از مرجع پیکربندی استفاده کنید.

درباره Cloud Storage

Cloud Storage سرویسی برای ذخیره‌سازی ایمن، بادوام، و مقیاس‌پذیر فایل است. اگر تازه شروع به کار با Cloud Storage کرده‌اید، شروع سریع در مستندات 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"]

خط‌مشی «تخصیص پیام» زیر مقدار پاسخ را از خط‌مشی «بازده تماسی افزونه» بازیابی می‌کند و آن را در محتوای پاسخ کپی می‌کند.

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

بارگیری فایل

خط‌مشی «افزونه‌تماس» زیر از افزونه 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."}

خط‌مشی «تخصیص پیام» زیر مقدار برگردانده‌شده توسط افزونه را بازیابی می‌کند و آن را در بار پاسخ کپی می‌کند.

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

تولید نشانی وب امضاشده

خط‌مشی «بازده تماس افزونه» زیر از این افزونه برای تولید نشانی وب برای بارگیری فایل مشخص‌شده از باکت Cloud Storage استفاده می‌کند. نام فایل را به‌همراه تاریخی که پس‌از آن نشانی وب باید منقضی شود و دیگر کار نکند ارسال می‌کند.

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

خط‌مشی «تخصیص پیام» زیر مقدار برگردانده‌شده توسط افزونه را بازیابی می‌کند و آن را در بدنه پاسخ کپی می‌کند.

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

کنش‌ها

downloadFile

فایل مشخص‌شده را بارگیری می‌کند.

پارامترهای درخواست

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

نحو

<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>

مثال

<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>

پاسخ

‫JSON نشان‌دهنده شیء با محتوای فایل بارگیری‌شده. برای مثال:

{"content":"Some example text."}

listFiles

فایل‌های دردسترس برای بارگیری را فهرست می‌کند.

پارامترهای درخواست

هیچ‌کدام.

پاسخ

آرایه‌ای از نام فایل‌ها. برای مثال:

["example-text.txt","example-image.png"]

generateSignedURL

نشانی وب امضاشده‌ای برای فایل مشخص‌شده در باکت ایجاد می‌کند. از این نشانی وب می‌توان برای بارگیری فایل استفاده کرد.

پارامترهای درخواست

پارامتر شرح نوع پیش‌فرض الزامی
fileName نام شیء Cloud Storage که نشانی وب امضاشده برای آن تولید می‌شود. رشته هیچ‌کدام. بله.
expiresOn تاریخی که نشانی وب امضاشده باید منقضی شود. رشته هیچ‌کدام. شماره.

نحو

<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":"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 مقدار پیکربندی مخصوص افزونه ای که اضافه می کنید. به ویژگی های این بسته برنامه افزودنی مراجعه کنید هیچ یک آره

دارایی‌های این بسته افزونه

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