Índice
DateTime
Representa o horário civil (ou, às vezes, o horário físico).
Esse tipo pode representar um horário civil de uma das seguintes maneiras:
- Quando utc_offset é definido e time_zone não é definido: uma hora civil em um dia do calendário com uma compensação específica do UTC.
- Quando time_zone é definido e utc_offset não é: uma hora civil em um dia do calendário em um fuso horário específico.
- Quando nem time_zone nem utc_offset estão definidos: uma hora civil em um dia do calendário no horário local.
A data é referente ao calendário gregoriano proléptico.
Se o ano, o mês ou o dia forem 0, o DateTime será considerado sem um ano, mês ou dia específico, respectivamente.
Esse tipo também pode ser usado para representar um horário físico se todos os campos de data e hora estiverem definidos e se um dos casos de time_offset
estiver definido. Considere usar a mensagem Timestamp
para o tempo físico. Se o caso de uso também quiser armazenar o fuso horário do usuário, isso pode ser feito em outro campo.
Esse tipo é mais flexível do que alguns aplicativos podem querer. Documente e valide as limitações do seu aplicativo.
Campos | |
---|---|
year |
Opcional. Ano da data. Precisa ser de 1 a 9999 ou 0 se especificar uma data/hora sem um ano. |
month |
Opcional. Mês do ano. Precisa ser de 1 a 12 ou 0 se especificar uma data/hora sem um mês. |
day |
Opcional. Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês, ou 0 se especificar uma data/hora sem dia. |
hours |
Opcional. Horas do dia no formato de 24 horas. Precisa ser de 0 a 23, o padrão é 0 (meia-noite). Uma API pode permitir o valor "24:00:00" para o horário de fechamento da empresa, por exemplo. |
minutes |
Opcional. Minutos da hora do dia. Precisa ser de 0 a 59, o padrão é 0. |
seconds |
Opcional. Segundos do minutos do horário. Normalmente precisa ser de 0 a 59, padrão 0. Uma API pode permitir o valor 60 se permitir segundos bissextos. |
nanos |
Opcional. Frações de segundos em nanossegundos. Precisa ser de 0 a 999.999.999. O padrão é 0. |
Campo de união time_offset . Opcional. Especifica o deslocamento UTC ou o fuso horário do DateTime. Escolha com cuidado entre eles, considerando que os dados de fuso horário podem mudar no futuro (por exemplo, um país modifica as datas de início/término do horário de verão, e as datas e horários no período afetado já foram armazenadas). Se omitido, o DateTime será considerado no horário local. time_offset pode ser apenas de um dos tipos a seguir: |
|
utc_offset |
Deslocamento de UTC. Precisa ser um segundo inteiro, entre -18 horas e +18 horas. Por exemplo, um deslocamento UTC de -4:00 seria representado como { seconds: -14400 }. |
time_zone |
Fuso horário. |
Expr
Representa uma expressão textual na sintaxe Common Expression Language (CEL). A CEL é uma linguagem de expressão semelhante a C. A sintaxe e a semântica do CEL estão documentadas em https://github.com/google/cel-spec.
Exemplo (comparação):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Exemplo (igualdade):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Exemplo (lógica):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Exemplo (manipulação de dados):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
As variáveis e funções exatas que podem ser referenciadas em uma expressão são determinadas pelo serviço que a avalia. Consulte a documentação do serviço para mais informações.
Campos | |
---|---|
expression |
Representação textual de uma expressão na sintaxe Common Expression Language. |
title |
Opcional. Título da expressão, ou seja, uma string curta que descreve sua finalidade. Isso pode ser usado, por exemplo, em IUs que permitam inserir a expressão. |
description |
Opcional. Descrição da expressão. Este é um texto mais longo que descreve a expressão, por exemplo, quando o cursor é passado sobre ela em uma IU. |
location |
Opcional. String que indica o local da expressão para o relatório de erros, por exemplo, um nome de arquivo e uma posição no arquivo. |
TimeZone
Representa um fuso horário do banco de dados IANA.
Campos | |
---|---|
id |
Fuso horário do banco de dados IANA. Por exemplo: "America/New_York". |
version |
Opcional. Número da versão do banco de dados IANA de fuso horário. Por exemplo: "2019a". |