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

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

เวอร์ชัน: 2.0.2

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

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

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

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

คุณจะต้องใช้ข้อมูลเหล่านี้ รวมถึงชื่อ Bucket และภูมิภาค 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 ของคีย์ดังกล่าว
ไม่มี ได้