Amazon S3 扩展程序

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

版本:1.1.0

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

响应

具有 content 属性的 JSON,其中包含文件的内容。

{
  "content":"Hello World!"
}

响应属性

属性 说明 类型 默认
内容 包含请求文件内容的字符串。 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>

如果你愿意,就必须对 <Output> 元素指定 parsed="false" 包含原始 JSON 的变量。否则,该变量将无法使用。

示例

<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 编码值。
无。 是。