Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi
Apigee X. info
Versi: 2.0.0
Mencantumkan, mendownload, dan membuat URL yang ditandatangani untuk file di bucket Cloud Storage.
Konten ini memberikan referensi untuk mengonfigurasi dan menggunakan ekstensi ini. Sebelum menggunakan ekstensi ini dari proxy API, Anda harus:
Upload objek ke bucket Anda.
Berikan izin untuk mengakses bucket ke akun layanan GCP yang mewakili ekstensi Google Cloud Storage Anda. Untuk mengetahui informasi selengkapnya tentang peran yang akan digunakan, lihat Peran Cloud Storage. Untuk mengetahui informasi selengkapnya tentang izin di Cloud Storage, lihat Menggunakan Izin Identity and Access Management (IAM).
Gunakan konten file JSON kunci yang dihasilkan saat menambahkan dan mengonfigurasi ekstensi menggunakan referensi konfigurasi.
Tentang Cloud Storage
Cloud Storage adalah layanan untuk penyimpanan file yang aman, tahan lama, dan skalabel. Jika Anda baru mulai menggunakan Cloud Storage, mulai cepat dalam dokumentasi Cloud Storage adalah tempat yang tepat untuk memulai.
Contoh
Contoh berikut menggambarkan cara mengonfigurasi dukungan untuk tindakan ekstensi Cloud Storage menggunakan kebijakan ExtensionCallout.
Mencantumkan file
Dalam contoh berikut, tindakan listFiles
ekstensi mengambil daftar file, yang menampilkannya dalam array. Tindakan listFiles
tidak memerlukan parameter input.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Storage-File-List">
<DisplayName>Get Storage File List</DisplayName>
<Connector>cloud-storage-extension-example</Connector>
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">storage.filelist.retrieved</Output>
</ConnectorCallout>
Nilai respons akan terlihat seperti ini:
["example-text.txt","example-image.png"]
Kebijakan Assign Message berikut mengambil nilai respons dari kebijakan ExtensionCallout di atas dan menyalinnya dalam payload respons.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
<DisplayName>Assign Storage File List</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{storage.filelist.retrieved}</Payload>
</Set>
</AssignMessage>
Mendownload file
Kebijakan ExtensionCallout berikut menggunakan ekstensi Google Cloud Storage untuk mendownload file teks sederhana yang isinya hanya Some example text.
,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Download-File">
<DisplayName>Download File</DisplayName>
<Connector>cloud-storage-extension-example</Connector>
<Action>downloadFile</Action>
<Input><![CDATA[{"fileName": "example-text.txt"}]]></Input>
<Output>storage.file.retrieved</Output>
</ConnectorCallout>
Nilai respons akan terlihat seperti ini:
{"content":"Some example text."}
Kebijakan Tetapkan Pesan berikut mengambil nilai yang ditampilkan oleh ekstensi dan menyalinnya ke payload respons.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-List">
<DisplayName>Assign Storage File List</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{storage.file.retrieved}</Payload>
</Set>
</AssignMessage>
Membuat URL yang ditandatangani
Kebijakan ExtensionCallout berikut menggunakan ekstensi ini untuk membuat URL guna mendownload file yang ditentukan dari bucket Cloud Storage. Fungsi ini meneruskan nama file, beserta tanggal setelah URL berakhir masa berlakunya dan tidak berfungsi lagi.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="false" enabled="true" name="Get-Signed-URL">
<DisplayName>Get Signed URL</DisplayName>
<Connector>cloud-storage-extension-example</Connector>
<Action>generateSignedURL</Action>
<Input><![CDATA[{
"fileName" : "example-text.txt",
"expiresOn" : "2018-08-05"
}]]></Input>
<Output>storage.url.retrieved</Output>
</ConnectorCallout>
Nilai yang ditampilkan ekstensi terlihat seperti berikut.
{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}
Kebijakan Tetapkan Pesan berikut mengambil nilai yang ditampilkan oleh ekstensi dan menyalinnya ke dalam isi respons.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign-Storage-File-URL">
<DisplayName>Assign Storage File URL</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{storage.url.retrieved}</Payload>
</Set>
</AssignMessage>
Tindakan
downloadFile
Mendownload file yang ditentukan.
Parameter permintaan
Parameter | Deskripsi | Jenis | Default | Wajib |
---|---|---|---|---|
fileName | File yang akan didownload. | String | Tidak ada. | Ya. |
Sintaksis
<Input><![CDATA[{"fileName" : "the-file-to-download"}]]></Input>
Contoh
<Input><![CDATA[{"fileName" : "example-text.txt"}]]></Input>
Respons
JSON yang mewakili objek dengan konten file yang didownload. Contoh:
{"content":"Some example text."}
listFiles
Mencantumkan file yang tersedia untuk didownload.
Parameter permintaan
Tidak ada.
Respons
Array nama file. Contoh:
["example-text.txt","example-image.png"]
generateSignedURL
Membuat URL yang ditandatangani untuk file yang ditentukan di bucket. URL ini dapat digunakan untuk mendownload file.
Parameter permintaan
Parameter | Deskripsi | Jenis | Default | Wajib |
---|---|---|---|---|
fileName | Nama objek Cloud Storage yang akan digunakan untuk membuat URL yang ditandatangani. | String | Tidak ada. | Ya. |
expiresOn | Tanggal habis masa berlaku URL bertanda tangan. | String | Tidak ada. | Tidak. |
Sintaksis
<Input><![CDATA[{
"fileName" : "file-for-which-to-generate-url",
"expiresOn" : "date-to-expire-url"
}]]></Input>
Contoh
<Input><![CDATA[{
"fileName" : "example-text.txt",
"expiresOn" : "2018-08-05"
}]]></Input>
Respons
JSON yang mewakili objek dengan URL yang ditandatangani. Contoh:
{"url":"https://storage.googleapis.com/storage-extension-example/example-text.txt?GoogleAccessId=extension-test%40my-test-33333.iam.gserviceaccount.com&Expires=1533427200&Signature=Y1cE1DCHesWeIZILRhdIuDR%2FhzZXZ%2BPeY3J1PUkRiosFYj41itHBWh2%2BTQgH9kI6E8s2mWrVDFU43YR7s8Tm9W5VgWRwh0nXSactQ0xKbkKbGZmCcWxgIscOezc1zc%2Bp7lnXSx1qd4wIlIKVH4KCd9WLx4qB1dLxGNxMKB32tA3dio5IiMXaHEA%2FR2fYc0Pjh45t8L5rilk5pekv7jfd3sfsgdfgfdglkj%2F7E%2FlJ%2B60RnetqV2IDqrc0sVEgSLTpgTbDGU%2Ft3EcitRUFOSdOb5czt7CiIwKAYSmDEFMSNHHiNTWjvLzq4IU%2BCa4Z5aKyvww%3D%3D"}
Referensi Konfigurasi
Gunakan hal berikut saat Anda mengonfigurasi dan men-deploy ekstensi ini untuk digunakan di proxy API. Untuk mengetahui langkah-langkah 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
Properti | Deskripsi | Default | Wajib |
---|---|---|---|
bucketName | Bucket GCS yang akan berinteraksi dengan ekstensi ini. | Tidak ada. | Ya. |