バージョン: 1.0.0
Amazon S3 バケットのファイルを管理します。この拡張機能を使用すると、ファイルのリスト、ダウンロード、削除ができます。ファイルのダウンロード用に署名付き URL を生成することもできます。
この拡張機能の構成済みの各インスタンスが特定のバケットで動作します。バケットが複数の場合、バケットごとにこの拡張機能の構成済みインスタンスを使用します。
前提条件
ExtensionCallout ポリシーで API プロキシ経由で拡張機能を使用する前に、次のことを行う必要があります。
作業対象の Amazon S3 バケット用のアクセスキー ID とシークレット アクセスキーを取得します。
この拡張機能を構成するには上記の項目とバケット名が必要です。
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!"
}
レスポンス プロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
content | リクエストされたファイルのコンテンツを含む文字列。 | 文字列 | なし |
generateSignedURL
S3 バケットから指定されたファイルをダウンロードするための署名付き URL を生成します。
構文
<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 | URL が期限切れになるまでの時間(秒単位)。 | 整数 | 86400 | × |
レスポンス
生成された URL を含む url
文字列プロパティを持つ JSON。
{
"url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}
レスポンス プロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
url | 要求されたファイルの URL。 | 文字列 | なし |
listFiles
AWS Lambda 関数の実行を呼び出します
構文
<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>
リクエスト パラメータ
なし
レスポンス
S3 ファイル名の配列。
["hello_world.txt"]
レスポンス プロパティ
なし
構成リファレンス
この拡張機能を API プロキシで使用するように構成してデプロイする場合は、以下のプロパティを使用します。Apigee Console で拡張機能を構成する手順については、拡張機能の追加と構成をご覧ください。
拡張機能の共通プロパティ
すべての拡張機能には次のプロパティがあります。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
name |
この拡張機能に付ける名前。 | なし | ○ |
packageName |
Apigee Edge から提供された拡張機能パッケージの名前。 | なし | ○ |
version |
拡張機能を構成する拡張機能パッケージのバージョン番号。 | なし | ○ |
configuration |
追加する拡張機能に固有の構成値。この拡張機能パッケージのプロパティをご覧ください。 | なし | ○ |
この拡張機能パッケージのプロパティ
この拡張機能に固有の以下の構成プロパティに値を指定します。
プロパティ | 説明 | デフォルト | 必須 |
---|---|---|---|
configuration | 使用する Amazon S3 バケットの名前を入力します(例: sample-bucket )。 |
なし | ○ |
credentials | Apigee Edge コンソールに入力する場合は、次の形式の Amazon アクセスキー ID とアクセスキーを含む JSON ファイルになります。{ "accessKeyId" : access-key-ID, "secretAccessKey" : secret-access-key } Management API で設定する場合は、キーの JSON ファイルから生成された base64 エンコード値になります。 |
なし | ○ |