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