Amazon S3 擴充功能

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

版本:2.0.0

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

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

必要條件

使用 ExtensionCallout 政策中的 API proxy 擴充功能前,您必須:

您需要這些資訊,以及 AWS 值區名稱和 AWS 區域,才能configure這個擴充功能。

關於 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 代理程式中使用,請使用下列說明。如要瞭解如何使用 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 編碼值。
無。 是。