Índice
Data
Representa uma data de calendário completa ou parcial, como um aniversário. A hora do dia e o fuso horário são especificados noutro local ou são insignificantes. A data é relativa ao calendário gregoriano. Isto pode representar uma das seguintes opções:
- Uma data completa, com valores de ano, mês e dia diferentes de zero.
- Um mês e um dia, com um ano zero (por exemplo, um aniversário).
- Um ano sozinho, com um mês zero e um dia zero.
- Um ano e um mês, com um dia zero (por exemplo, a data de validade de um cartão de crédito).
Tipos relacionados:
google.type.TimeOfDay
google.type.DateTime
google.protobuf.Timestamp
Campos | |
---|---|
year |
Ano da data. Tem de estar entre 1 e 9999, ou 0 para especificar uma data sem um ano. |
month |
Mês de um ano. O valor tem de estar compreendido entre 1 e 12 ou 0 para especificar um ano sem um mês e um dia. |
day |
Dia de um mês. Tem de estar compreendido entre 1 e 31 e ser válido para o ano e o mês, ou 0 para especificar apenas um ano ou um ano e um mês em que o dia não é significativo. |
DateTime
Representa a hora civil (ou, ocasionalmente, a hora física).
Este tipo pode representar uma hora civil de uma das seguintes formas possíveis:
- Quando utc_offset está definido e time_zone não está definido: uma hora civil num dia do calendário com uma determinada diferença para UTC.
- Quando time_zone está definido e utc_offset não está definido: uma hora civil num dia do calendário num fuso horário específico.
- Quando não é definido time_zone nem utc_offset: uma hora civil num dia do calendário na hora local.
A data é relativa ao calendário gregoriano proléptico.
Se o ano, o mês ou o dia for 0, considera-se que o DateTime não tem um ano, um mês ou um dia específico, respetivamente.
Este tipo também pode ser usado para representar uma hora física se todos os campos de data e hora estiverem definidos e qualquer um dos casos de time_offset
estiver definido. Em alternativa, considere usar a mensagem Timestamp
para a hora física. Se o seu exemplo de utilização também quiser armazenar o fuso horário do utilizador, isso pode ser feito noutro campo.
Este tipo é mais flexível do que algumas aplicações podem querer. Certifique-se de que documenta e valida as limitações da sua aplicação.
Campos | |
---|---|
year |
Opcional. Ano da data. Tem de ser de 1 a 9999 ou 0 se especificar uma data/hora sem um ano. |
month |
Opcional. Mês do ano. Tem de estar compreendido entre 1 e 12 ou ser 0 se especificar uma data/hora sem um mês. |
day |
Opcional. Dia do mês. Tem de estar compreendido entre 1 e 31 e ser válido para o ano e o mês, ou 0 se especificar uma data/hora sem um dia. |
hours |
Opcional. Horas do dia no formato de 24 horas. Deve estar entre 0 e 23, sendo a predefinição 0 (meia-noite). Uma API pode optar por permitir o valor "24:00:00" para cenários como a hora de encerramento da empresa. |
minutes |
Opcional. Minutos da hora do dia. Tem de ser um valor entre 0 e 59. A predefinição é 0. |
seconds |
Opcional. Segundos dos minutos da hora. Normalmente, tem de estar entre 0 e 59. A predefinição é 0. Uma API pode permitir o valor 60 se permitir segundos intercalares. |
nanos |
Opcional. Frações de segundos em nanosegundos. Tem de estar entre 0 e 999 999 999. A predefinição é 0. |
Campo de união time_offset . Opcional. Especifica a diferença horária entre UTC e o fuso horário do DateTime. Escolha cuidadosamente entre eles, tendo em conta que os dados de fuso horário podem mudar no futuro (por exemplo, um país modifica as datas de início/fim da hora de verão e as datas/horas futuras no intervalo afetado já tinham sido armazenadas). Se for omitido, o DateTime é considerado no fuso horário local. time_offset só pode ser uma das seguintes opções: |
|
utc_offset |
Diferença face ao UTC. Tem de ser segundos inteiros, entre -18 horas e +18 horas. Por exemplo, um desvio de UTC de -4:00 seria representado como { seconds: -14400 }. |
time_zone |
Fuso horário. |
Expr
Representa uma expressão textual na sintaxe do Idioma de expressão comum (IEC). O IEC é um idioma de expressão semelhante a C. A sintaxe e a semântica da 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 as funções exatas que podem ser referenciadas numa expressão são determinadas pelo serviço que a avalia. Consulte a documentação do serviço para obter informações adicionais.
Campos | |
---|---|
expression |
Representação textual de uma expressão na sintaxe do idioma de expressão comum. |
title |
Opcional. Título da expressão, ou seja, uma string curta que descreve a respetiva finalidade. Isto pode ser usado, por exemplo, em IUs que permitem introduzir 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 passa sobre a mesma numa IU. |
location |
Opcional. String que indica a localização da expressão para a comunicação de erros, por exemplo, um nome de ficheiro e uma posição no ficheiro. |
Fuso horário
Representa um fuso horário da base de dados de fusos horários da IANA.
Campos | |
---|---|
id |
Fuso horário da base de dados de fusos horários da IANA. Por exemplo, "America/New_York". |
version |
Opcional. Número da versão da base de dados de fusos horários da IANA. Por exemplo, "2019a". |