查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
版本:1.0.0
管理 Amazon S3 值區中的檔案。你可以使用這項擴充功能列出、下載及刪除檔案。您也可以產生已簽署的網址以便下載檔案。
這個擴充功能的每個已設定的例項都會與特定的值層搭配運作。如果是多個值組,請為每個值組使用已設定的擴充功能例項。
必要條件
使用 ExtensionCallout 政策中的擴充功能,必須先符合下列條件:
取得要使用的 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 值區下載指定檔案。
語法
<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 | 要下載的檔案名稱。 | 字串 | 無。 | 是。 |
回應
含有 content
屬性 (內含檔案內容) 的 JSON。
{
"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 主控台中輸入時,這會是 JSON 檔案,其中包含 Amazon 存取金鑰 ID 和存取金鑰,格式如下:{ "accessKeyId" : access-key-ID, "secretAccessKey" : secret-access-key } 透過管理 API 傳送時,這會是從該金鑰 JSON 檔案產生的 base64 編碼值。 |
無。 | 是。 |