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

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

เวอร์ชัน: 2.0.1

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

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

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

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

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