คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ
Apigee X info
เวอร์ชัน: 1.1.1
จัดการไฟล์ใน Bucket ของ Amazon S3 ส่วนขยายนี้ช่วยให้คุณแสดง ดาวน์โหลด และลบไฟล์ได้ นอกจากนี้ คุณยังสร้าง URL ที่ลงนามแล้วเพื่อดาวน์โหลดไฟล์ได้ด้วย
อินสแตนซ์ที่กำหนดค่าของส่วนขยายนี้แต่ละรายการจะทำงานร่วมกับที่เก็บข้อมูลที่เฉพาะเจาะจง สำหรับหลาย Bucket ให้ใช้อินสแตนซ์ที่กำหนดค่าของส่วนขยายนี้สำหรับแต่ละ Bucket
ข้อกำหนดเบื้องต้น
ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout คุณต้องทำดังนี้
รับรหัสคีย์การเข้าถึงและคีย์การเข้าถึงลับสำหรับ Bucket ของ Amazon S3 ที่คุณจะใช้
คุณจะต้องใช้ข้อมูลเหล่านี้พร้อมกับชื่อ Bucket ของ AWS และภูมิภาค AWS เพื่อกำหนดค่าส่วนขยายนี้
เกี่ยวกับ Amazon S3
Amazon Simple Storage Service (Amazon S3) เป็นบริการพื้นที่เก็บข้อมูลออบเจ็กต์
การดำเนินการ
deleteFile
ลบไฟล์ที่ระบุจาก Bucket S3
ไวยากรณ์
<Action>deleteFile</Action>
<Input><![CDATA[
{
"fileName" : "name-of-file-to-delete"
}
]]>
</Input>
ตัวอย่าง
<Action>deleteFile</Action>
<Input><![CDATA[
{
"fileName" : "names.tmp"
}
]]>
</Input>
พารามิเตอร์คำขอ
| พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
|---|---|---|---|---|
| fileName | ชื่อไฟล์ที่จะลบ | สตริง | ไม่มี | ได้ |
คำตอบ
ไม่มี
พร็อพเพอร์ตี้การตอบกลับ
ไม่มี
downloadFile
ดาวน์โหลดไฟล์ที่ระบุจาก Bucket S3
ไวยากรณ์
<Action>downloadFile</Action>
<Input><![CDATA[
{
"fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>
ตัวอย่าง
<Action>downloadFile</Action>
<Input><![CDATA[
{
"fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>
พารามิเตอร์คำขอ
| พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
|---|---|---|---|---|
| fileName | ชื่อไฟล์ที่จะดาวน์โหลด | สตริง | ไม่มี | ได้ |
คำตอบ
JSON ที่มีพร็อพเพอร์ตี้ content ซึ่งมีเนื้อหาของไฟล์
{
"content":"Hello World!"
}
พร็อพเพอร์ตี้การตอบกลับ
| พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น |
|---|---|---|---|
| เนื้อหา | สตริงที่มีเนื้อหาของไฟล์ที่ขอ | สตริง | ไม่มี |
generateSignedURL
สร้าง URL ที่ลงนามแล้วสำหรับการดาวน์โหลดไฟล์ที่ระบุจาก Bucket ใน S3
ไวยากรณ์
<Action>generateSignedURL</Action>
<Input><![CDATA[
{
"fileName": "filename",
"expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>
ตัวอย่าง
<Action>generateSignedURL</Action>
<Input><![CDATA[
{
"fileName": "product-info.pdf",
"expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>
พารามิเตอร์คำขอ
| พารามิเตอร์ | คำอธิบาย | ประเภท | ค่าเริ่มต้น | ต้องระบุ |
|---|---|---|---|---|
| fileName | ชื่อไฟล์ที่จะดาวน์โหลด | สตริง | ไม่มี | ได้ |
| expiresIn | ระยะเวลาเป็นวินาทีก่อนที่ URL จะหมดอายุ | จำนวนเต็ม | 86400 | ไม่ |
คำตอบ
JSON ที่มีพร็อพเพอร์ตี้สตริง url ซึ่งมี URL ที่สร้างขึ้น
{
"url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}
พร็อพเพอร์ตี้การตอบกลับ
| พร็อพเพอร์ตี้ | คำอธิบาย | ประเภท | ค่าเริ่มต้น |
|---|---|---|---|
| URL | URL ของไฟล์ที่ขอ | สตริง | ไม่มี |
listFiles
เรียกใช้ฟังก์ชัน AWS Lambda
ไวยากรณ์
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>
คุณต้องระบุ parsed="false" ในองค์ประกอบ <Output> หากต้องการให้ตัวแปรมี JSON แบบดิบ ไม่เช่นนั้น ตัวแปรจะใช้งานไม่ได้
ตัวอย่าง
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>
พารามิเตอร์คำขอ
ไม่มี
คำตอบ
อาร์เรย์ของชื่อไฟล์ S3
["hello_world.txt"]
พร็อพเพอร์ตี้การตอบกลับ
ไม่มี
ข้อมูลอ้างอิงการกำหนดค่า
ใช้ข้อมูลต่อไปนี้เมื่อกำหนดค่าและติดตั้งใช้งานส่วนขยายนี้เพื่อใช้ในพร็อกซี API ดูขั้นตอนการกำหนดค่าส่วนขยายโดยใช้คอนโซล Apigee ได้ที่การเพิ่มและกำหนดค่าส่วนขยาย
พร็อพเพอร์ตี้ส่วนขยายทั่วไป
พร็อพเพอร์ตี้ต่อไปนี้มีอยู่ในส่วนขยายทุกรายการ
| พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
|---|---|---|---|
name |
ชื่อที่คุณกําหนดให้การกําหนดค่านี้ของส่วนขยาย | ไม่มี | ได้ |
packageName |
ชื่อแพ็กเกจส่วนขยายที่ระบุโดย Apigee Edge | ไม่มี | ได้ |
version |
หมายเลขเวอร์ชันของแพ็กเกจส่วนขยายที่คุณกําหนดค่าส่วนขยาย | ไม่มี | ได้ |
configuration |
ค่าการกําหนดค่าเฉพาะสําหรับส่วนขยายที่คุณกําลังเพิ่ม ดูพร็อพเพอร์ตี้สําหรับแพ็กเกจส่วนขยายนี้ | ไม่มี | ได้ |
พร็อพเพอร์ตี้สำหรับแพ็กเกจส่วนขยายนี้
ระบุค่าสำหรับพร็อพเพอร์ตี้การกำหนดค่าต่อไปนี้ที่เจาะจงสำหรับส่วนขยายนี้
| พร็อพเพอร์ตี้ | คำอธิบาย | ค่าเริ่มต้น | ต้องระบุ |
|---|---|---|---|
| การกำหนดค่า | ป้อนชื่อของ Bucket ใน Amazon S3 ที่จะใช้ เช่น sample-bucket |
ไม่มี | ได้ |
| การกำหนดค่า | ป้อนชื่อภูมิภาค AWS ที่ต้องการใช้ เช่น us-east-2 |
ไม่มี | ได้ |
| ข้อมูลเข้าสู่ระบบ | เมื่อป้อนในคอนโซล Apigee Edge จะเป็นไฟล์ JSON ที่มีรหัสคีย์การเข้าถึงและคีย์การเข้าถึงของ Amazon ในรูปแบบต่อไปนี้{"accessKeyId" : access-key-ID,"secretAccessKey" : secret-access-key}เมื่อส่งผ่าน Management API จะเป็นค่าที่เข้ารหัส Base64 ซึ่งสร้างจากไฟล์ JSON ของคีย์นั้น |
ไม่มี | ได้ |