您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。信息
版本:1.1.0
管理 Amazon S3 存储桶中的文件。借助此扩展程序,您可以列出、下载和删除文件。您还可以生成签名网址来下载文件。
此扩展程序的每个配置实例都适用于特定的存储分区。如果有多个存储分区,请为每个存储分区使用此扩展程序的已配置实例。
前提条件
在使用 ExtensionCallout 政策从 API 代理使用扩展程序之前,您必须满足以下条件:
获取要使用的 Amazon S3 存储桶的访问密钥 ID 和私有访问密钥。
您需要这些信息以及 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>
如果你愿意,就必须对 <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 编码值。 |
无。 | 是。 |