Atualizando Funções
Saiba mais sobre a atualização de funções.
Após criar uma definição de função no servidor do OCI Functions, você pode alterar algumas, mas não todas as propriedades da função. Por exemplo, você pode alterar o tempo máximo que uma função pode ser executada, mas não pode alterar o nome da função.
Você pode alterar a imagem do Docker na qual se baseia uma função. Se você quiser alterar a imagem, ela deverá ser adequada para uso com o OCI Functions e já deverá ter sido enviada para o registro do Docker. Com a imagem de substituição no registro do Docker, é possível atualizar a definição de uma função para que ela se baseie na imagem de substituição, conforme descrito neste tópico. Se a imagem de substituição tiver o mesmo nome e tag da imagem na qual a função foi baseada originalmente, consulte Observações Sobre Compilações de Imagem.
Você pode atualizar funções usando a Console, a CLI do Fn Project e a API. Consulte Atualizando uma Função.
Observações sobre Compilações de Imagens
As imagens de um registro do Docker são identificadas por repositório, nome e uma tag. Além disso, o Docker fornece a cada versão de uma imagem uma compilação alfanumérica exclusiva. Ao enviar uma imagem do Docker atualizada, recomenda-se fornecer à imagem atualizada uma nova tag para identificá-la, em vez de reutilizar uma tag existente. No entanto, mesmo que você envie uma imagem atualizada e dê a ela o mesmo nome e tag de uma versão anterior, a versão recém-colocada terá outra compilação da versão anterior.
Ao criar uma função com o OCI Functions, você especifica o nome e a tag de uma determinada versão de uma imagem na qual basear a função. Para evitar inconsistências posteriores, o OCI Functions também registra a compilação exclusiva dessa versão específica da imagem.
Por padrão, se você enviar uma versão atualizada de uma imagem para o registro do Docker com o mesmo nome e tag da versão original da imagem na qual uma função está baseada, o OCI Functions continuará usando a compilação original para extrair a versão original da imagem. Pode ser que este seja o comportamento exigido. No entanto, se você quiser que o OCI Functions obtenha a versão mais recente da imagem, poderá alterar explicitamente a compilação que o OCI Functions usa para identificar qual versão da imagem será extraída de uma das seguintes maneiras:
-
Use o comando
fn update function
e especifique o nome original e a tag da versão da imagem na qual você deseja que a função se baseie. Por exemplo:fn update function acmeapp acme-func --image phx.ocir.io/ansh81vru1zp/acme-repo/acme-func:0.0.4 --annotation oracle.com/oci/imageDigest=\"\"
O OCI Functions atualizará a compilação registrada para a imagem na qual a função se baseia como compilação da imagem no registro do Docker que tem o nome e a tag especificados.
-
Utilize o comando
fn update function
e especifique a compilação da versão da imagem na qual você deseja que a função se baseie. Por exemplo:fn update function acmeapp acme-func –-annotation oracle.com/oci/imageDigest='"sha256:8af7cb8d7______c498c0"'
O OCI Functions atualizará a compilação registrada para a imagem na qual a função se baseia como compilação especificada.
- Use a Console e selecione Editar na guia Detalhes da função, selecione o nome e tag originais da versão da imagem na qual a função se baseia no momento e selecione Salvar Alterações. O serviço OCI Functions atualizará a compilação registrada para a imagem na qual se baseia a função.
- Use a API do Oracle Cloud Infrastructure ou um SDK do Oracle Cloud Infrastructure (para obter mais informações, consulte APIs REST e SDKs e a CLI).