Esta é a documentação do Apigee Edge.
Acesse
Documentação da Apigee X. informações
Versão: 1.0.0
Execute funções implantadas no AWS Lambda. Use essa extensão para listar as funções disponíveis na sua conta da AWS e, em seguida, invoque funções específicas.
Pré-requisitos
Antes de usar a extensão de um proxy de API com a política Extension callout, você precisa:
Confira o ID da chave de acesso e a chave de acesso secreta da Amazon.
Você precisará deles, junto com o nome da região em que suas funções estão implantadas, para configurar essa extensão.
Implante a função do Lambda. Para que a extensão possa acessar uma função Lambda, ela precisa ser:
- Implantado em uma VPC pública
- Implantado em uma VPC privada com gateway NAT público
Para mais informações, consulte Como configurar uma função do Lambda para acessar recursos em uma Amazon VPC.
Sobre o AWS Lambda
O AWS Lambda oferece ambientes de computação em que é possível executar funções em uma das linguagens com suporte.
Ações
invocar
Invoca uma função no AWS Lambda.
Para mais detalhes sobre parâmetros, consulte a documentação de invocação do AWS Lambda (em inglês).
Sintaxe
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "function-on-lambda",
"invocationType" : "RequestResponse | Event | DryRun",
"logType" : "None | Tail",
"qualifier" : "Version-or-alias",
"payload" : "Escaped-JSON-string"
}
]]>
</Input>
<Output>flow-variable</Output>
Exemplo
<Action>invoke</Action>
<Input><![CDATA[
{
"functionName" : "helloWorld",
"invocationType" : "RequestResponse",
"logType" : "None",
"qualifier" : "$LATEST",
"payload" : "{ \"key\": \"val\" }"
}
]]>
</Input>
<Output>function.response.value</Output>
Parâmetros de solicitação
Para mais detalhes sobre parâmetros, consulte a documentação de invocação do AWS Lambda (em inglês).
Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
---|---|---|---|---|
functionName | O nome da função a ser invocada. | String. | Nenhum. | Sim. |
invocationType | Especifica se é necessário invocar a função de forma síncrona, assíncrona ou validar os valores de parâmetro. | String. | Nenhum. | Não. |
logType | Opcionalmente, especifica se é necessário retornar os últimos 4 KB de dados de registro. | String | Nenhum. | Não. |
qualificador | A versão do alias de uma função Lambda publicada. | String | Nenhum. | Não. |
payload | JSON como entrada para a função do Lambda. | String | Nenhum. | Não. |
Resposta
Uma matriz de funções contendo detalhes específicos da versão. Veja um exemplo abaixo.
{
"StatusCode" : 200,
"Payload" : "{\"statusCode\":200,\"body\":\"\\\"Hello World!\\\"\"}"
}
Propriedades da resposta
Propriedade | Descrição | Tipo | Padrão |
---|---|---|---|
StatusCode | Código de status HTTP. | Número inteiro | Nenhum. |
Payload | JSON que representa o objeto retornado pela função. Presente apenas se o tipo de invocação for RequestResponse. Para um erro de função, contém uma mensagem de descrição do erro. | String | Nenhum. |
listFunctions
Lista as funções do AWS Lambda disponíveis.
Para mais detalhes sobre parâmetros, consulte a documentação ListFunctions do AWS Lambda.
Sintaxe
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL | [a-z]{2}(-gov)?-[a-z]+-\d{1}",
"functionVersion" : "ALL",
"maxItems" : 1 - 10000
}
]]>
</Input>
<Output>flow-variable</Output>
Exemplo
<Action>listFunctions</Action>
<Input><![CDATA[
{
"masterRegion" : "ALL",
"functionVersion" : "ALL",
"maxItems" : 50
}
]]>
</Input>
<Output>function.list</Output>
Parâmetros de solicitação
Para mais detalhes sobre parâmetros, consulte a documentação ListFunctions do AWS Lambda.
Parâmetro | Descrição | Tipo | Padrão | Obrigatório |
---|---|---|---|---|
masterRegion | A região (como us-east-2 ) cujas funções precisam ser listadas. ALL para incluir funções de qualquer região. Se especificado, você também precisa especificar o functionVersion . |
String | Nenhum. | Não. |
functionVersion | Especifique ALL para listar todas as versões publicadas. Se não for especificado, somente o ARN da versão não publicada mais recente será retornado. |
String | Nenhum. | Não. |
maxItems | O número máximo de funções a serem retornadas na resposta. Precisa ser maior que 0. O máximo absoluto que pode ser retornado é 50. | Número inteiro | Nenhum. | Não. |
Resposta
JSON que representa uma matriz de funções contendo detalhes de versão específicos.
[
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "$LATEST"
},
{
"FunctionName": "helloWorld",
"FunctionArn": "arn:aws:lambda:fake-region:012345:function:helloWorld",
"Runtime": "nodejs",
"Role": "arn:aws:iam::012345:role/service-role/fakeRole",
"Handler": "index.handler",
"Description": "A Hello World lambda function.",
"Version": "1"
}
]
Propriedades da resposta
Propriedade | Descrição | Tipo | Padrão |
---|---|---|---|
Descrição | Uma descrição da função. | String. | Nenhum. |
Handler | A função que o Lambda chama para começar a executar a função. | String. | Nenhum. |
FunctionArn | O nome do recurso da Amazon da função. | String. | Nenhum. |
FunctionName | O nome da função. | String. | Nenhum. |
Papel | O papel de execução da função. | String. | Nenhum. |
Ambiente de execução | O ambiente de execução da função. | String. | Nenhum. |
Versão | A versão da função. | String. | 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ões
Especifique valores para as seguintes propriedades de configuração específicas desta extensão.
Propriedade | Descrição | Padrão | Obrigatório |
---|---|---|---|
Região do AWS Lambda | O nome da região em que suas funções são implantadas. Por exemplo, us-east-1 . |
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. |