Extension Amazon S3

Vous consultez la documentation d'Apigee Edge.
Accédez à la documentation Apigee X.
info

Version : 2.0.1

Gérez les fichiers dans un bucket Amazon S3. Cette extension vous permet de lister, de télécharger et de supprimer des fichiers. Vous pouvez également générer une URL signée pour télécharger un fichier.

Chaque instance configurée de cette extension fonctionne avec un bucket spécifique. Pour plusieurs buckets, utilisez une instance configurée de cette extension pour chaque bucket.

Prérequis

Avant d'utiliser l'extension à partir d'un proxy d'API à l'aide de la règle ExtensionCallout, vous devez :

Vous en aurez besoin, ainsi que du nom du bucket AWS et de la région AWS, pour configurer cette extension.

À propos d'Amazon S3

Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets.

Actions

deleteFile

Supprime le fichier spécifié d'un bucket S3.

Syntaxe

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "name-of-file-to-delete"
}
]]>
</Input>

Exemple

<Action>deleteFile</Action>
<Input><![CDATA[
{
  "fileName" : "names.tmp"
}
]]>
</Input>

Paramètres de requête

Paramètre Description Type Valeur par défaut Obligatoire
fileName Nom du fichier à supprimer. Chaîne Aucune. Oui.

Réponse

Aucune.

Propriétés de la réponse

Aucune.

downloadFile

Télécharge le fichier spécifié à partir d'un bucket S3.

Syntaxe

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "filename"
}
]]>
</Input>
<Output>flow-variable</Output>

Exemple

<Action>downloadFile</Action>
<Input><![CDATA[
{
  "fileName" : "product-sheet.pdf"
}
]]>
</Input>
<Output>downloaded.file</Output>

Paramètres de requête

Paramètre Description Type Valeur par défaut Obligatoire
fileName Nom du fichier à télécharger. Chaîne Aucune. Oui.

Réponse

JSON avec une propriété content contenant le contenu du fichier.

{
  "content":"Hello World!"
}

Propriétés de la réponse

Propriété Description Type Par défaut
contenu Chaîne contenant le contenu du fichier demandé. Chaîne. Aucune.

generateSignedURL

Génère une URL signée pour télécharger le fichier spécifié à partir d'un bucket S3.

Syntaxe

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "filename",
  "expiresIn": duration-in-seconds
}
]]>
</Input>
<Output>flow-variable</Output>

Exemple

<Action>generateSignedURL</Action>
<Input><![CDATA[
{
  "fileName": "product-info.pdf",
  "expiresIn": 3600
}
]]>
</Input>
<Output>download.url</Output>

Paramètres de requête

Paramètre Description Type Valeur par défaut Obligatoire
fileName Nom du fichier à télécharger. Chaîne Aucune. Oui.
expiresIn Durée avant l'expiration de l'URL, en secondes. Nombre entier 86400 Non.

Réponse

JSON avec une propriété de chaîne url contenant l'URL générée.

{
  "url":"https://fake.s3.amazonaws.com/hello_world.txt?AWSAccessKeyId=123&Expires=1542753572&Signature=ABC"
}

Propriétés de la réponse

Propriété Description Type Par défaut
url URL du fichier demandé. Chaîne Aucune.

listFiles

Appelle l'exécution d'une fonction AWS Lambda.

Syntaxe

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output>flow-variable</Output>

Vous devez spécifier parsed="false" dans l'élément <Output> si vous souhaitez que la variable contienne le code JSON brut. Sinon, la variable ne peut pas être utilisée.

Exemple

<Action>listFiles</Action>
<Input><![CDATA[{}]]></Input>
<Output parsed="false">listFilesOutput</Output>

Paramètres de requête

Aucune.

Réponse

Tableau de noms de fichiers S3.

["hello_world.txt"]

Propriétés de la réponse

Aucune.

Documentation de référence sur la configuration

Utilisez les éléments suivants lorsque vous configurez et déployez cette extension pour l'utiliser dans des proxys d'API. Pour savoir comment configurer une extension à l'aide de la console Apigee, consultez Ajouter et configurer une extension.

Propriétés d'extension courantes

Les propriétés suivantes sont présentes pour chaque extension.

Propriété Description Par défaut Obligatoire
name Nom que vous attribuez à cette configuration de l'extension. Aucune Oui
packageName Nom du package d'extension tel qu'indiqué par Apigee Edge. Aucune Oui
version Numéro de version du package d'extension à partir duquel vous configurez une extension. Aucune Oui
configuration Valeur de configuration spécifique à l'extension que vous ajoutez. Consultez Propriétés de ce package d'extension. Aucune Oui

Propriétés de ce package d'extension

Spécifiez les valeurs des propriétés de configuration suivantes, spécifiques à cette extension.

Propriété Description Par défaut Obligatoire
configuration Saisissez le nom du bucket Amazon S3 à utiliser, par exemple sample-bucket. Aucune. Oui.
configuration Saisissez le nom de la région AWS à utiliser, par exemple us-east-2. Aucune. Oui.
identifiants Lorsqu'il est saisi dans la console Apigee Edge, il s'agit d'un fichier JSON contenant votre ID de clé d'accès et votre clé d'accès Amazon, sous la forme suivante :

{
"accessKeyId" : access-key-ID,
"secretAccessKey" : secret-access-key
}

Lorsqu'il est envoyé à l'aide de l'API Management, il s'agit d'une valeur encodée en base64 générée à partir de ce fichier JSON de clé.
Aucune. Oui.