Amazon S3 擴充功能

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

版本:1.0.0

管理 Amazon S3 值區中的檔案。你可以使用這項擴充功能列出、下載及刪除檔案。您也可以產生已簽署的網址以便下載檔案。

這個擴充功能的每個已設定的例項都會與特定的值層搭配運作。如果是多個值組,請為每個值組使用已設定的擴充功能例項。

必要條件

使用 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 要下載的檔案名稱。 字串 無。 是。

回應

含有 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 編碼值。
無。 是。