תוסף Google Cloud Storage

אתם צופים במסמכי התיעוד של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X.
מידע

גרסה: 2.0.2

הצגה, הורדה ויצירה של כתובות URL חתומות לקבצים בקטגוריה של Cloud Storage.

התוכן הזה מספק הפניה להגדרת התוסף הזה ולשימוש בו. לפני שמשתמשים בתוסף הזה מתוך שרת proxy של 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"]

מדיניות 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 להורדת הקובץ שצוין מקטגוריית Cloud Storage. היא מעבירה את שם הקובץ, יחד עם התאריך שאחריו כתובת ה-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>

פעולות

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

יוצרת כתובת URL חתומה לקובץ שצוין בדלי. אפשר להשתמש בכתובת ה-URL הזו כדי להוריד את הקובץ.

פרמטרים של בקשה

פרמטר תיאור סוג ברירת מחדל חובה
fileName השם של האובייקט ב-Cloud Storage שעבורו רוצים ליצור כתובת URL חתומה. מחרוזת ללא. כן.
expiresOn התאריך שבו כתובת ה-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"}

הסבר על ההגדרות

כשמגדירים ופורסים את התוסף הזה לשימוש בשרתי proxy ל-API, צריך להשתמש בפרטים הבאים. הוראות להגדרת תוסף באמצעות מסוף Apigee מופיעות במאמר הוספה והגדרה של תוסף.

מאפיינים נפוצים של תוספים

המאפיינים הבאים קיימים בכל תוסף.

נכס תיאור ברירת המחדל נדרש
name השם שבחרת לתצורה הזו של התוסף. ללא כן
packageName השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. ללא כן
version מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. ללא כן
configuration ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו ללא כן

מאפיינים של חבילת התוספים הזו

נכס תיאור ברירת מחדל חובה
bucketName מאגר ה-GCS שהתוסף הזה צריך ליצור איתו אינטראקציה. ללא. כן.