Amazon S3 擴充功能

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

版本:2.0.1

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

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

必要條件

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

您需要這些資訊,以及 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 編碼值。
無。 是。