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.1.0

Gerenciar arquivos em um bucket do Amazon S3. Com esta extensão, é possível 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 com a política Extension callout, 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 de 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 contém o conteúdo do arquivo.

{
  "content":"Hello World!"
}

Propriedades de resposta

Propriedade Descrição Tipo Padrão
conteúdo Uma string que contém 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 de 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>

É necessário especificar parsed="false" no elemento <Output> se você quiser que a variável contenha 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 da resposta

Nenhum.

Referência de configuração

Use o seguinte ao configurar e implantar esta extensão para uso em proxies de API. Para ver as etapas para configurar uma extensão usando o console da Apigee, consulte Como 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ão

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, é um arquivo JSON que contém o ID 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.