Extensão do Amazon S3

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Versão: 1.1.1

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

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 em cada bucket.

Pré-requisitos

Antes de usar a extensão de um proxy de API com a política Extension callout, você precisa fazer o seguinte:

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 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á transferido por download. 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 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á transferido por download. String Nenhum. Sim.
expiresIn 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>

Especifique parsed="false" no elemento <Output> se quiser que a variável contenha o JSON bruto. Caso contrário, a variável não é 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 o código a seguir ao configurar e implantar a extensão para uso em proxies de API. Para saber como 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 propriedades de configuração a seguir 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, este é 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 desse arquivo JSON de chave.
Nenhum. Sim.