תוסף Google Cloud Storage

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

גרסה: 1.4.2

הצגה, הורדה ויצירה של כתובות 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>

הורדת קובץ

במדיניות הבאה בנושא תוספי יתרונות מרכזיים נעשה שימוש בתוסף 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 חתומה

המדיניות הבאה בנושא תוספי יתרונות מרכזיים משתמשת בתוסף הזה כדי ליצור כתובת 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>

פעולות

הורדת הקובץ

הורדת הקובץ שצוין.

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

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