Amazon S3 扩展程序

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档。
info

版本:1.1.1

管理 Amazon S3 存储分区中的文件。借助此扩展程序,您可以列出、下载和删除文件。您还可以生成用于下载文件的签名网址。

此扩展程序的每个配置实例都适用于特定存储分区。对于多个存储分区,请为每个存储分区使用此扩展程序的配置实例。

前提条件

在使用 ExtensionCallout 政策 通过 API 代理使用扩展程序之前,您必须执行以下操作:

关于 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 要下载的文件的名称。 字符串 无。 是。

响应

JSON,其中包含一个 content 属性,该属性包含文件的内容。

{
  "content":"Hello World!"
}

响应属性

属性 说明 类型 默认值
content 一个字符串,其中包含所请求文件的内容。 字符串。 无。

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

响应属性

属性 说明 类型 默认值
url 指向所请求文件的网址。 字符串 无。

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 特定于您要添加的附加信息的配置值。请参阅此扩展程序软件包的属性 无 是

此扩展程序软件包的属性

为此扩展程序特有的以下配置属性指定值。

属性 说明 默认值 必需
configuration 输入要使用的 Amazon S3 存储分区的名称,例如 sample-bucket。 无。 是。
configuration 输入要使用的 AWS 区域的名称,例如 us-east-2。 无。 是。
credentials 在 Apigee Edge 控制台中输入时,这是一个 JSON 文件,其中包含您的 Amazon 访问密钥 ID 和访问密钥,格式如下:

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

通过 Management API 发送时,它是从该密钥 JSON 文件生成的 base64 编码值。
无。 是。