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

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

เวอร์ชัน: 1.1.1

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

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

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

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

เกี่ยวกับ Amazon S3

Amazon Simple Storage Service (Amazon S3) เป็นบริการพื้นที่เก็บข้อมูลของออบเจ็กต์

การดำเนินการ

deleteFile

ลบไฟล์ที่ระบุออกจากที่เก็บข้อมูล 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 ที่ลงนามแล้วสำหรับการดาวน์โหลดไฟล์ที่ระบุจากที่เก็บข้อมูล 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 ได้ที่การเพิ่มและการกำหนดค่าส่วนขยาย

พร็อพเพอร์ตี้ส่วนขยายทั่วไป

The following properties are present for every extension.

Property Description Default Required
name Name you're giving this configuration of the extension. None Yes
packageName Name of the extension package as given by Apigee Edge. None Yes
version Version number for the extension package from which you're configuring an extension. None Yes
configuration Configuration value specific to the extension you're adding. See Properties for this extension package None Yes

พร็อพเพอร์ตี้สำหรับแพ็กเกจส่วนขยายนี้

ระบุค่าสำหรับพร็อพเพอร์ตี้การกำหนดค่าต่อไปนี้ที่เจาะจงสำหรับส่วนขยายนี้

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น ต้องระบุ
การกำหนดค่า ป้อนชื่อของ 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 ของคีย์นั้น
ไม่มี ได้