Ekstensi Amazon S3

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Versi: 1.0.0

Mengelola file di bucket Amazon S3. Dengan ekstensi ini, Anda dapat mencantumkan, mendownload, dan menghapus file. Anda juga dapat membuat URL yang ditandatangani untuk mendownload file.

Setiap instance yang dikonfigurasi dari ekstensi ini berfungsi dengan bucket tertentu. Untuk beberapa bucket, gunakan instance ekstensi yang dikonfigurasi dari ekstensi ini untuk setiap bucket.

Prasyarat

Sebelum menggunakan ekstensi dari proxy API menggunakan kebijakan Extensioncallout, Anda harus:

Tentang Amazon S3

Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek.

Tindakan

deleteFile

Menghapus file yang ditentukan dari bucket S3.

Sintaksis

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

Contoh

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
fileName Nama file yang akan dihapus. String Tidak ada. Ya.

Respons

Tidak ada.

Properti respons

Tidak ada.

downloadFile

Mendownload file yang ditentukan dari bucket S3.

Sintaksis

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

Contoh

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
fileName Nama file yang akan didownload. String Tidak ada. Ya.

Respons

JSON dengan properti content yang berisi konten file.

{
  "content":"Hello World!"
}

Properti respons

Properti Deskripsi Jenis Default
konten String yang berisi konten file yang diminta. String. Tidak ada.

generateSignedURL

Menghasilkan URL yang ditandatangani untuk mendownload file yang ditentukan dari bucket S3.

Sintaksis

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

Contoh

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

Parameter permintaan

Parameter Deskripsi Jenis Default Wajib
fileName Nama file yang akan didownload. String Tidak ada. Ya.
expiresIn Durasi dalam detik hingga URL kedaluwarsa. Bilangan Bulat 86400 Tidak.

Respons

JSON dengan properti string url yang berisi URL yang dihasilkan.

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

Properti respons

Properti Deskripsi Jenis Default
url URL ke file yang diminta. String Tidak ada.

listFiles

Memanggil eksekusi fungsi AWS Lambda.

Sintaksis

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

Anda harus menentukan parsed="false" pada elemen <Output> jika ingin variabel untuk menampung JSON mentah. Jika tidak, variabel tidak dapat digunakan.

Contoh

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

Parameter permintaan

Tidak ada.

Respons

Array nama file S3.

["hello_world.txt"]

Properti respons

Tidak ada.

Referensi Konfigurasi

Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API. Untuk mengetahui langkah-langkah dalam mengonfigurasi ekstensi menggunakan konsol Apigee, lihat Menambahkan dan mengonfigurasi ekstensi.

Properti ekstensi umum

Properti berikut ada untuk setiap ekstensi.

Properti Deskripsi Default Wajib
name Nama yang Anda berikan pada konfigurasi ekstensi ini. Tidak ada Ya
packageName Nama paket ekstensi seperti yang diberikan oleh Apigee Edge. Tidak ada Ya
version Nomor versi untuk paket ekstensi tempat Anda mengonfigurasi ekstensi. Tidak ada Ya
configuration Nilai konfigurasi khusus untuk ekstensi yang Anda tambahkan. Lihat Properti untuk paket ekstensi ini Tidak ada Ya

Properti untuk paket ekstensi ini

Tentukan nilai untuk properti konfigurasi berikut yang khusus untuk ekstensi ini.

Properti Deskripsi Default Wajib
konfigurasi Masukkan nama bucket Amazon S3 yang akan digunakan, seperti sample-bucket. Tidak ada. Ya.
konfigurasi Masukkan nama region AWS yang akan digunakan, seperti us-east-2. Tidak ada. Ya.
credentials Saat dimasukkan di konsol Apigee Edge, ini adalah file JSON yang berisi ID kunci akses dan kunci akses Amazon Anda dalam bentuk berikut:

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

Saat dikirim melalui API pengelolaan, ini adalah nilai yang dienkode base64 yang dihasilkan dari file JSON kunci tersebut.
Tidak ada. Ya.