ส่วนขยายของ Amazon S3

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

เวอร์ชัน: 1.0.0

จัดการไฟล์ใน Bucket Amazon S3 ส่วนขยายนี้ช่วยให้คุณแสดงรายการ ดาวน์โหลด และลบไฟล์ได้ นอกจากนี้ คุณยังสร้าง URL ที่ลงชื่อแล้วเพื่อดาวน์โหลดไฟล์ได้ด้วย

อินสแตนซ์ที่กำหนดค่าของส่วนขยายนี้แต่ละรายการจะทำงานร่วมกับ Bucket ที่เฉพาะเจาะจง หากมีหลาย Bucket ให้ใช้อินสแตนซ์ที่กำหนดค่าของส่วนขยายนี้สำหรับแต่ละ Bucket

ข้อกำหนดเบื้องต้น

ก่อนใช้ส่วนขยายจากพร็อกซี API โดยใช้นโยบาย ExtensionCallout คุณต้องดำเนินการดังนี้

เกี่ยวกับ 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 ของคีย์ดังกล่าว
ไม่มี ได้