תוסף Google Cloud Storage

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

גרסה: 1.4.1

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

התוכן הזה מספק הפניה להגדרה של התוסף הזה ולשימוש בו. לפני השימוש בתוסף הזה דרך שרת proxy של API, צריך:

  1. יוצרים קטגוריה של Cloud Storage

  2. מעלים אובייקטים לקטגוריה.

  3. נותנים הרשאה לגשת לקטגוריה לחשבון השירות של GCP שמייצג את התוסף של Google Cloud Storage. מידע נוסף על התפקיד זמין במאמר תפקידים ב-Cloud Storage. למידע נוסף על הרשאות ב-Cloud Storage, תוכלו לקרוא את המאמר שימוש בהרשאות לניהול זהויות והרשאות גישה (IAM).

  4. להשתמש במסוף GCP כדי ליצור מפתח לחשבון השירות.

  5. יש להשתמש בתוכן של קובץ ה-JSON שמכיל את המפתח שהתקבל במהלך הוספה והגדרה של התוסף באמצעות ההפניה לתצורה.

מידע על Cloud Storage

Cloud Storage הוא שירות לאחסון קבצים מאובטח, עמיד וניתן להתאמה. אם רק התחלתם להשתמש ב-Cloud Storage, מומלץ להתחיל במדריך למתחילים במסמכי התיעוד של Cloud Storage.

טעימות

הדוגמאות הבאות ממחישות כיצד להגדיר תמיכה בפעולות של תוסף Cloud Storage באמצעות מדיניות היתרונות המרכזיים של תוסף.

הצגת רשימה של קבצים

בדוגמה הבאה, הפעולה 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"]

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

הורדת קובץ

המדיניות הבאה של ExtensionExtension משתמשת בתוסף של 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."}

המדיניות הבאה בנושא הקצאת הודעות, מאחזרת את הערך שהתוסף מחזיר ומעתיק אותו למטען הייעודי (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"}

המדיניות הבאה בנושא הקצאת הודעות, מאחזרת את הערך שהתוסף מחזיר ומעתיק אותו לגוף התגובה.

<?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 שאיתה התוסף הזה צריך לקיים אינטראקציה. ללא. כן.