ส่วนขยาย Google Cloud Storage

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

เวอร์ชัน: 1.4.1

แสดงรายการ ดาวน์โหลด และสร้าง 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 โดยใช้นโยบายส่วนขยายไฮไลต์

แสดงรายการไฟล์

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

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

นโยบาย 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 ที่ลงนาม

นโยบาย ส่วนขยายข้อความไฮไลต์ต่อไปนี้ใช้ส่วนขยายนี้เพื่อสร้าง 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"}

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

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

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

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

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

พร็อพเพอร์ตี้ของแพ็กเกจส่วนขยายนี้

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