ส่วนขยาย Google Cloud Storage

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
info

เวอร์ชัน: 2.0.2

แสดง ดาวน์โหลด และสร้าง URL ที่ลงนามสำหรับไฟล์ในที่เก็บข้อมูล Cloud Storage

เนื้อหานี้เป็นข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ ก่อนใช้ส่วนขยายนี้จากพร็อกซี API คุณต้องดำเนินการต่อไปนี้

  1. สร้างที่เก็บข้อมูล Cloud Storage

  2. อัปโหลดออบเจ็กต์ไปยังที่เก็บข้อมูล

  3. ให้สิทธิ์เข้าถึงที่เก็บข้อมูลแก่บัญชีบริการ Google Cloud ที่แสดงถึงส่วนขยาย Google Cloud Storage ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทที่จะใช้ได้ที่บทบาทของ Cloud Storage ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ใน Cloud Storage ได้ที่การใช้สิทธิ์ Identity and Access Management (IAM)

  4. ใช้ Google Cloud Console เพื่อสร้างคีย์สำหรับบัญชีบริการ

  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 และคัดลอกค่าดังกล่าวในเพย์โหลดการตอบกลับ

<?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 ต่อไปนี้จะดึงค่าที่ส่วนขยายแสดงผลและคัดลอกค่าดังกล่าวลงในเพย์โหลดการตอบกลับ

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

ข้อมูลอ้างอิงการกำหนดค่า

ใช้ข้อมูลต่อไปนี้เมื่อกำหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและการกำหนดค่าส่วนขยาย

คุณสมบัติส่วนขยายทั่วไป

พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
name ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย ไม่มี ได้
packageName ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge ไม่มี ได้
version หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย ไม่มี ได้
configuration ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ ไม่มี ได้

พร็อพเพอร์ตี้สำหรับแพ็กเกจส่วนขยายนี้

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
bucketName ที่เก็บข้อมูล GCS ที่ส่วนขยายนี้ควรโต้ตอบด้วย ไม่มี ได้