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

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

เวอร์ชัน: 1.0.0

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

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

ตัวอย่าง

<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 ของคีย์นั้น
ไม่มี ได้