ส่วนขยาย Google Cloud Storage

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

เวอร์ชัน: 2.0.0

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

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

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

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

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

  4. ใช้คอนโซล GCP เพื่อสร้างคีย์สําหรับบัญชีบริการ

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

นโยบายการกําหนดข้อความต่อไปนี้จะดึงค่าที่ส่วนขยายแสดงผลและคัดลอกลงในเพย์โหลดการตอบกลับ

<?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 ที่ส่วนขยายนี้ควรโต้ตอบด้วย ไม่มี ได้