Hexagonal Architecture
Métrica: m1 = execuções do lambda
Threshold: 1 \ intenção: alarmar quando houver menos que 1 execução do lambda
Condition: less than /
Expression: IF(HOUR(m1)>=11 AND HOUR(m1) < 17, SUM(m1), 3)
Horário entre 11 e 17 -> retorna soma da metrica (alarma se não houver execução do lambda)
Fora do horário -> retorna 3 (nunca alarma)
#!/bin/bash
module_dir=$HOME/dev/mymodule
echo
echo module_dir=$module_dir
die() {
echo >&2 $(basename $0): $*
https://registry.hub.docker.com/_/rabbitmq/
docker run -it --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -p 5672:5672 -p 0.0.0.0:15672:15672 -p 8080:8080 rabbitmq:3-management
Na criação do VPC Endpoint, a opção Enable Private DNS Name:
- Habilita esses DNS names privados no VPC:
execute-api.us-east-2.amazonaws.com
*.execute-api.us-east-2.amazonaws.com
- Porém a presença desses domínios privados impede a resolução de execute-api público no VPC. Mesmo assim, ainda é possível chamar uma API pública pelo seu Custom Domain Name, se houver.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"fmt" | |
"golang.org/x/net/context" | |
cc "golang.org/x/oauth2/clientcredentials" | |
"io/ioutil" | |
"net/http" | |
"os" | |
) |
type Reader struct {
data []byte
readIndex int64
}
func (r *Reader) Read(p []byte) (n int, err error) {
if r.readIndex >= int64(len(r.data)) {
err = io.EOF
First token:
pos := p.expect(token.PACKAGE)
https://github.com/golang/go/blob/master/src/go/parser/parser.go#L2854
More on recursive descent parser.