Extensão do Amazon S3

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Versão: 1.0.0

Gerenciar arquivos em um bucket do Amazon S3. Com essa extensão, você pode listar, fazer o download e excluir arquivos. Também é possível gerar um URL assinado para fazer o download de um arquivo.

Cada instância configurada dessa extensão funciona com um bucket específico. Para vários buckets, use uma instância configurada dessa extensão para cada bucket.

Pré-requisitos

Antes de usar a extensão de um proxy de API usando a política ExtensionCallout, você precisa:

Sobre o Amazon S3

O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos.

Ações

deleteFile

Exclui o arquivo especificado de um bucket do S3.

Sintaxe

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

Exemplo

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

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo a ser excluído. String Nenhum. Sim.

Resposta

Nenhum.

Propriedades da resposta

Nenhum.

downloadFile

Faz o download do arquivo especificado de um bucket do S3.

Sintaxe

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

Exemplo

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

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo que será baixado. String Nenhum. Sim.

Resposta

JSON com uma propriedade content que inclui o conteúdo do arquivo.

{
  "content":"Hello World!"
}

Propriedades da resposta

Propriedade Descrição Tipo Padrão
conteúdo String com o conteúdo do arquivo solicitado. String. Nenhum.

generateSignedURL

Gera um URL assinado para fazer o download do arquivo especificado de um bucket do S3.

Sintaxe

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

Exemplo

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

Parâmetros de solicitação

Parâmetro Descrição Tipo Padrão Obrigatório
fileName O nome do arquivo que será baixado. String Nenhum. Sim.
expiresIn A duração em segundos até o URL expirar. Número inteiro 86400 Não.

Resposta

JSON com uma propriedade de string url que contém o URL gerado.

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

Propriedades da resposta

Propriedade Descrição Tipo Padrão
url Um URL para o arquivo solicitado. String Nenhum.

listFiles

Invoca a execução de uma função do AWS Lambda.

Sintaxe

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

Especifique parsed="false" no elemento <Output> se quiser a variável para conter o JSON bruto. Caso contrário, a variável não será utilizável.

Exemplo

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

Parâmetros de solicitação

Nenhum.

Resposta

Uma matriz de nomes de arquivos do S3.

["hello_world.txt"]

Propriedades de resposta

Nenhum.

Referência de configuração

Use as informações a seguir ao configurar e implantar essa extensão para uso em proxies de API. Para saber como configurar uma extensão usando o console da Apigee, consulte Adicionar e configurar uma extensão.

Propriedades de extensão comuns

As propriedades a seguir estão presentes para cada extensão.

Propriedade Descrição Padrão Obrigatório
name Nome que será dado a esta configuração da extensão. Nenhum Sim
packageName Nome do pacote de extensão fornecido pelo Apigee Edge. Nenhum Sim
version Número da versão do pacote de extensão a partir do qual você está configurando uma extensão. Nenhum Sim
configuration Valor de configuração específico da extensão que você está adicionando. Consulte Propriedades para este pacote de extensão. Nenhum Sim

Propriedades deste pacote de extensões

Especifique valores para as seguintes propriedades de configuração específicas desta extensão.

Propriedade Descrição Padrão Obrigatório
configuração Insira o nome do bucket do Amazon S3 a ser usado, como sample-bucket. Nenhum. Sim.
configuração Insira o nome da região da AWS a ser usada, como us-east-2. Nenhum. Sim.
credenciais Quando inserido no console do Apigee Edge, esse é um arquivo JSON contendo o ID da chave de acesso e a chave de acesso da Amazon no seguinte formato:

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

Quando enviado pela API de gerenciamento, é um valor codificado em base64 gerado a partir desse arquivo JSON de chave.
Nenhum. Sim.