คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่
เอกสารประกอบของ Apigee X info
เวอร์ชัน: 1.4.1
แสดงรายการ ดาวน์โหลด และสร้าง URL ที่ลงชื่อแล้วสำหรับไฟล์ใน Bucket ของ Cloud Storage
เนื้อหานี้มีข้อมูลอ้างอิงสำหรับการกำหนดค่าและการใช้ส่วนขยายนี้ คุณต้องดำเนินการต่อไปนี้ก่อนใช้ส่วนขยายนี้จากพร็อกซี API
อัปโหลดออบเจ็กต์ ไปยัง Bucket
ให้สิทธิ์เข้าถึง Bucket แก่บัญชีบริการ GCP ที่แสดงถึงส่วนขยาย Google Cloud Storage ดูข้อมูลเพิ่มเติมเกี่ยวกับบทบาทที่จะใช้ได้ที่บทบาท Cloud Storage ดูข้อมูลเพิ่มเติมเกี่ยวกับสิทธิ์ใน Cloud Storage ได้ที่ การใช้สิทธิ์ Identity and Access Management (IAM)
ใช้เนื้อหาของไฟล์ 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 สำหรับดาวน์โหลดไฟล์ที่ระบุจาก Bucket ของ 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 ที่ลงชื่อแล้วสำหรับไฟล์ที่ระบุใน Bucket โดยคุณสามารถใช้ 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 | Bucket GCS ที่ส่วนขยายนี้ควรโต้ตอบด้วย | ไม่มี | ได้ |