Amazon S3 擴充功能

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

版本:1.1.1

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

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

必要條件

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

關於 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 不會。

回應

具有 url 字串屬性的 JSON,其中包含產生的網址。

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

透過 Management API 傳送時,檔案為透過該金鑰 JSON 檔案產生的 Base64 編碼值。
無。 可以。