Configuração
Toda a configuração do Queue Lambda Debugger fica no arquivo de configuração qldebugger.toml
no diretório local, que é um arquivo no formato TOML v1.0.0. Seus parâmetros são descritos a baixo:
aws
Essa seção descreve a configuração que deve ser utilizada para acessar os serviços da AWS (ou algum mock).
Todos os seus parâmetros são opcionais e a própria seção pode ser omitida, e caso não esteja presente, a configuração atual do ambiente será utilizada.
aws.profile
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Nome do profile do arquivo de configuração da AWS que deve ser utilizado para acessar a AWS.
aws.access_key_id
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Parâmetro access_key_id
para acessar a AWS.
aws.secret_access_key
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Parâmetro secret_access_key
para acessar a AWS.
aws.session_token
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Parâmetro session_token
para acessar a AWS.
aws.region
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Nome da região da AWS que deve ser utilizada.
aws.endpoint_url
- Parâmetro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
URL do endpoint para acessar a AWS. Normalmente utilizado por mocks.
secrets
Essa seção é opcional e descreve os segredos do SecretsManager utilizados pelo Queue Lambda Debugger. Ela deve ser um dicionário, onde a chave é o nome do segredo, e o valor é um dicionário indicando o tipo de segredo (string ou binário) e seu valor. Exemplos:
[secrets]
stringSecret = {string = "abc"}
binarySecret = {binary = "123"}
secrets.*.string
- Parâmetro obrigatório (conflita com
binary
) - Tipo:
str
Valor como string para o segredo.
secrets.*.binary
- Parâmetro obrigatório (conflita com
string
) - Tipo:
str
Valor como binário para o segredo.
topics
Essa seção é opcional e descreve os tópicos SNS utilizados pelo Queue Lambda Debugger. Ela deve ser um dicionário, onde a chave é o nome do tópico, e o valor é um dicionário com seus parâmetros conforme descrito a seguir. Exemplos:
[topics]
mytopic = {}
[[topics.mytopic2.subscribers]]
queue = "myqueue"
raw_message_delivery = true
filter_policy = "{\"status\":[\"success\"]}"
topics.*.subscribers
- Parâmetro opcional
- Tipo:
List[ConfigTopicSubscriber]
- Valor padrão:
[]
Lista de inscrições para o tópico SNS.
topics.*.subscribers[].queue
- Parâmetro obrigatório
- Tipo:
str
Nome da fila SQS que deverá se inscrever para receber as mensagens publicadas nesse tópico.
topics.*.subscribers[].raw_message_delivery
- Parâmatro opcional
- Tipo:
bool
- Valor padrão:
False
Define se devem ser adicionado campos com informações do tópico nas mensagens entregues na fila SQS.
topics.*.subscribers[].filter_policy
- Pametro opcional
- Tipo:
Optional[str]
- Valor padrão:
None
Define um filtro para que apenas as mensagens que atendam os critérios sejam encaminhadas para a fila SQS. O exemplo {\"status\":[\"success\"]}
encaminhará apenas mensagens com o atributo status
igual a success
.
queues
Essa seção é obrigatória e descreve as filas Amazon SQS utilizadas pelo Queue Lambda Debugger. Ela deve ser um dicionário, onde a chave é o nome da fila, e o valor é um dicionário com seus parâmetros, porém na versão atual nenhum parâmetro é definido. Exemplo:
[queues]
myqueue = {}
myqueue2 = {}
lambdas
Essa seção é obrigatório e descreve os AWS Lambda utilizados pelo Queue Lambda Debugger. Ela deve ser um dicionário, onde a chave é o nome do lambda, e o valor é um dicionário com seus parâmetros como descritos a seguir.
lambdas.*.handler
- Parâmetro obrigatório
- Tipo:
str
Caminho da função Python que será executada por esse AWS Lambda. Deve ser escrito na forma A.B
, de forma que seja possível importar a função com from A import B
, onde A
pode conter vários .
indicando pacotes Python.
lambdas.*.environment
- Parâmetro opcional
- Tipo:
Dict[str, str]
- Valor padrão:
{}
Dicionário com as variáveis de ambiente configuradas para a execução do AWS Lambda.
event_source_mapping
Essa seção é obrigatória e descreve os AWS Lambda event source mapping utilizados pelo Queue Lambda Debugger. Ela deve ser um dicionário, onde a chave é o nome de um event source mapping, e o valor é um dicionário com seus parâmetros como descritos a seguir.
event_source_mapping.*.queue
- Parâmetro obrigatório
- Tipo:
str
Nome da fila Amazon SQS configurada na seção queues
que será utilizada para receber mensagens e passar para o AWS Lambda.
event_source_mapping.*.batch_size
- Parâmetro opcional
- Tipo:
int
- Valor padrão:
10
Quantidade máxima de mensagens que será requisitada para a fila Amazon SQS e passada para o AWS Lambda.
event_source_mapping.*.maximum_batching_window
- Parâmetro opcional
- Tipo:
int
- Valor padrão:
0
Tempo máximo que o cliente Amazon SQS ficará aguardando mensagens (long polling). 0
desativa o long polling.
event_source_mapping.*.function_name
- Parâmetro obrigatório
- Tipo:
str
Nome do AWS Lambda configurada na seção lambdas
que será executada por esse event source mapping.