Amazon S3 扩展程序

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

版本:2.0.1

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

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

前提条件

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

您需要这些信息以及 AWS 存储分区名称和 AWS 区域,才能配置此扩展程序。

关于 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>

如果您希望变量包含原始 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 编码值。
无。 是。