CURL é uma função utilitária que está disponível como um recurso Developer Preview no Funções de eventos do Couchbase. Ele esteve na versão prévia para desenvolvedores e não foi recomendado para produção. Estamos ouvindo o feedback para melhorar a usabilidade e temos vários novos aprimoramentos a caminho:
- Análise automática de tipos comuns de dados
- Distribuição automática de tipos comuns de dados
- Capacidade de acessar os cabeçalhos de solicitação e resposta HTTP
- Capacidade de lidar com conexões HTTPS
- Suporte para cookies de sessão
- Suporte a outros tipos de autenticação
O Couchbase Server 6.5 trará algumas alterações no CURL. Esta postagem do blog lhe dará uma pequena prévia do que está por vir na versão 6.5. Ele também serve como ponto de referência para alguns posts mais antigos do blog que estavam usando a API CURL antiga.
Se estiver interessado em experimentar uma versão inicial do Couchbase Server 6.5 antes do lançamento da versão beta no verão de 2019, entre em contato com matthew.groves@couchbase.com.
Especificação do Eventing 6.5
O Couchbase Server 6.5 traz melhorias e aprimoramentos para o Eventing. Você pode ler a íntegra do Especificação do Eventing 6.5 no GitHub. Para esta postagem, quero destacar o CURL, que mudou consideravelmente desde sua primeira prévia para desenvolvedores.
Ligações de aliases de URL para CURL
Para usar o CURL em um evento, é necessário criar um alias de URL nas Configurações de função. Especifique o URL de base para o qual você fará uma chamada com o CURL. Por exemplo, quero fazer chamadas para o Mapa meteorológico aberto API. O URL de base para a API é https://samples.openweathermap.org. Em Function Settings, adicionei uma ligação:
- Alias de URL (tipo de vinculação)
- weatherUrl (nome do vínculo)
- https://samples.openweathermap.org (valor de ligação)
Também adicionei um alias de bucket vinculado ao demonstração que também é o bucket de origem. Isso me permite ler e gravar a partir do demonstração balde.
Código de função
Criei um aplicativo muito simples Eventos que será executada sempre que um documento for alterado, recuperará o clima do OpenWeatherMap e, por fim, salvará os dados do clima no documento.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
função Sobre a atualização(doc, meta) { var solicitação = { caminho: '/data/2.5/weather', parâmetros: { 'q' : 'Londres, Reino Unido', 'appid' : 'b6907d289e10d714a6e88b30761fae22' } }; var resposta = enrolar('GET', weatherUrl, solicitação); se(resposta.status == 200) { var obj = este balde[meta.id]; obj.clima = resposta.corpo; este balde[meta.id] = obj; } } |
Observe que o método curl nesse código recebe três argumentos:
- O método HTTP (
OBTER
neste exemplo) - A associação de alias de URL (
weatherUrl
) - Um objeto de solicitação (
solicitação
). Neste exemplo, é muito simples, com apenas umcaminho
e umparâmetros
mas você também pode adicionarcabeçalhos
,corpo
ecodificação
. Não deixe de conferir o especificação completa.
Próximas etapas
Se você estiver usando o curl na visualização do desenvolvedor, é importante que você atualize para usar esse curl novo e aprimorado. Se estiver interessado em experimentar uma versão inicial do Couchbase Server 6.5 que contenha a nova função curl antes do lançamento da versão beta no verão, entre em contato com matthew.groves@couchbase.com.