Amazon S3 擴充功能

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

版本:1.1.1

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

這項擴充功能的每個執行個體設定都會與特定值區搭配使用。如為多個值區,請針對每個值區使用這個擴充功能已設定的執行個體。

必要條件

透過 Extension 摘要政策使用 API Proxy 擴充功能之前,您必須:

關於 Amazon S3

Amazon Simple Storage Service (Amazon S3) 是一項物件儲存服務。

動作

刪除檔案

從 S3 值區中刪除指定檔案。

語法

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

範例

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

要求參數

參數 說明 類型 預設 必填
fileName 要刪除的檔案名稱。 字串 無。 是。

回應

無。

回應屬性

無。

下載檔案

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

回應

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 要下載的檔案名稱。 字串 無。 是。
到期時間: 網址到期前的持續時間 (以秒為單位)。 整數 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>

如果需要,您必須在 <Output> 元素上指定 parsed="false" 變數,以便包含原始 JSON。否則該變數將無法使用。

範例

<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
}

透過 Management API 傳送時,這個值是由該金鑰 JSON 檔案產生的 Base64 編碼值。
無。 是。