您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
版本:2.0.1
管理 Amazon S3 值區中的檔案。有了這個擴充功能,您就能列出、下載及刪除檔案。您也可以產生已簽署的網址,供使用者下載檔案。
這項擴充功能的每個設定執行個體都會與特定 bucket 搭配運作。如有多個 bucket,請為每個 bucket 使用這個擴充功能的已設定執行個體。
必要條件
使用 ExtensionCallout 政策從 API Proxy 呼叫擴充功能之前,請務必完成下列步驟:
- 取得您要使用的 Amazon S3 值區的存取金鑰 ID 和私密存取金鑰。
您需要這些資訊,以及 AWS 值區名稱和 AWS 區域,才能設定這個擴充功能。
關於 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 bucket 下載指定檔案。
語法
<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
產生已簽署網址,從 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 | 網址失效前的時間長度 (以秒為單位)。 | 整數 | 86400 | 不用 |
回應
JSON,其中包含含有產生網址的 url
字串屬性。
{
"url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}
回應屬性
屬性 | 說明 | 類型 | 預設 |
---|---|---|---|
網址 | 要求檔案的網址。 | 字串 | 無。 |
listFiles
叫用 AWS Lambda 函式的執行作業。
語法
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>
如要讓變數包含原始 JSON,請務必在 <Output>
元素中指定 parsed="false"
。否則無法使用該變數。
範例
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>
要求參數
無。
回應
S3 檔案名稱陣列。
["hello_world.txt"]
回應屬性
無。
設定參考資料
設定及部署這個擴充功能,以便在 API Proxy 中使用時,請參考下列說明。如要瞭解如何使用 Apigee 控制台設定擴充功能,請參閱「新增及設定擴充功能」。
常見的擴充功能屬性
每個擴充功能都有下列屬性。
屬性 | 說明 | 預設 | 必要 |
---|---|---|---|
name |
您要為這項擴充功能設定的名稱。 | 無 | 相容 |
packageName |
Apigee Edge 指定的擴充功能套件名稱。 | 無 | 相容 |
version |
擴充功能的擴充功能套件版本號碼。 | 無 | 相容 |
configuration |
您要新增的擴充功能專屬的設定值。請參閱「這個擴充功能套件的屬性」一文 | 無 | 相容 |
這個擴充套件的屬性
指定下列設定屬性的值,這些屬性專屬於這個擴充功能。
屬性 | 說明 | 預設 | 必填 |
---|---|---|---|
設定 | 輸入要使用的 Amazon S3 值區名稱,例如 sample-bucket 。 |
無。 | 是。 |
設定 | 輸入要使用的 AWS 區域名稱,例如 us-east-2 。 |
無。 | 是。 |
憑證 | 在 Apigee Edge 控制台中輸入時,這是包含 Amazon 存取金鑰 ID 和存取金鑰的 JSON 檔案,格式如下:{ "accessKeyId" : access-key-ID, "secretAccessKey" : secret-access-key } 使用 Management API 傳送時,這是從該金鑰 JSON 檔案產生的 base64 編碼值。 |
無。 | 是。 |