Amazon S3 擴充功能

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。
info

版本:1.1.1

管理 Amazon S3 bucket 中的檔案。有了這個擴充功能,您就能列出、下載及刪除檔案。您也可以產生經簽署的網址,用來下載檔案。

這個擴充功能的每個設定執行個體都會與特定 bucket 搭配運作。如有多個 bucket,請為每個 bucket 使用這個擴充功能的已設定執行個體。

必要條件

使用 ExtensionCallout 政策從 API Proxy 使用擴充功能之前,請務必完成下列步驟:

關於 Amazon S3

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

動作

deleteFile

從 S3 bucket 刪除指定檔案。

語法

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