Amazon S3 扩展程序

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

版本:1.1.1

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

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

前提条件

在采用 ExtensionCallout 政策通过 API 代理使用扩展程序之前,您必须:

关于 Amazon S3

Amazon Simple Storage Service (Amazon S3) 是一项对象存储服务。

Action

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

响应属性

媒体资源 说明 类型 默认
content 包含所请求文件内容的字符串。 String。 无。

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 控制台中输入时,这是一个包含 Amazon 访问密钥 ID 和访问密钥的 JSON 文件,格式如下:

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

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