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

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

เวอร์ชัน: 1.1.1

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

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

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

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

เกี่ยวกับ 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>

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย Type ค่าเริ่มต้น จำเป็น
fileName ชื่อไฟล์ที่จะลบ สตริง ไม่มี ใช่

คำตอบ

ไม่มี

พร็อพเพอร์ตี้การตอบกลับ

ไม่มี

downloadFile

ดาวน์โหลดไฟล์ที่ระบุจากที่เก็บข้อมูล 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>

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย Type ค่าเริ่มต้น จำเป็น
fileName ชื่อของไฟล์ที่จะดาวน์โหลด สตริง ไม่มี ใช่

คำตอบ

JSON ที่มีพร็อพเพอร์ตี้ content ที่มีเนื้อหาของไฟล์

{
  "content":"Hello World!"
}

พร็อพเพอร์ตี้การตอบกลับ

พร็อพเพอร์ตี้ คำอธิบาย Type ค่าเริ่มต้น
content สตริงที่มีเนื้อหาของไฟล์ที่ขอ สตริง ไม่มี

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>

พารามิเตอร์คำขอ

พารามิเตอร์ คำอธิบาย Type ค่าเริ่มต้น จำเป็น
fileName ชื่อของไฟล์ที่จะดาวน์โหลด สตริง ไม่มี ใช่
expiresIn ระยะเวลาเป็นวินาทีจนกว่า URL จะหมดอายุ จำนวนเต็ม 86400 ไม่มี

คำตอบ

JSON ที่มีพร็อพเพอร์ตี้สตริง url ที่มี URL ที่สร้างขึ้น

{
  "url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}

พร็อพเพอร์ตี้การตอบกลับ

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

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

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

พร็อพเพอร์ตี้ คำอธิบาย ค่าเริ่มต้น จำเป็น
การกำหนดค่า ป้อนชื่อที่เก็บข้อมูล Amazon S3 ที่จะใช้ เช่น sample-bucket ไม่มี ใช่
การกำหนดค่า ป้อนชื่อภูมิภาค AWS ที่จะใช้ เช่น us-east-2 ไม่มี ใช่
ข้อมูลเข้าสู่ระบบ เมื่อป้อนในคอนโซล Apigee Edge ไฟล์นี้เป็นไฟล์ JSON ที่มีรหัสคีย์การเข้าถึงและคีย์การเข้าถึง Amazon ของคุณในรูปแบบต่อไปนี้

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

เมื่อส่งผ่าน Management API ค่าจะเป็นค่าที่เข้ารหัส base64 ซึ่งสร้างขึ้นจากไฟล์ JSON ของคีย์ดังกล่าว
ไม่มี ใช่