Apigee Edge のドキュメントを表示しています。
Apigee X のドキュメントに移動。 情報
バージョン: 1.1.0
Amazon S3 バケット内のファイルを管理します。この拡張機能を使用すると、ファイルのリスト、ダウンロード、削除ができます。ファイルをダウンロードするための署名付き URL を生成することもできます。
この拡張機能の構成済みの各インスタンスが特定のバケットで動作します。複数のバケットの場合は、この拡張機能の構成済みインスタンスをバケットごとに使用します。
前提条件
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!"
}
レスポンスのプロパティ
プロパティ | 説明 | 型 | デフォルト |
---|---|---|---|
コンテンツ | リクエストされたファイルのコンテンツを含む文字列。 | 文字列 | なし。 |
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 の有効期限が切れるまでの時間(秒)。 | Integer | 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>
変数に未加工の 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 )。 |
なし。 | はい。 |
credentials | Apigee Edge コンソールで入力すると、これは次の形式の Amazon アクセスキー ID とアクセスキーを含む JSON ファイルです。{ "accessKeyId" : access-key-ID, "secretAccessKey" : secret-access-key } Management API 経由で送信される場合、この値はそのキーの JSON ファイルから生成された base64 エンコード値です。 |
なし。 | はい。 |