As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Entenda os prefixos personalizados para objetos do Amazon S3
<evaluated prefix><suffix>Os objetos entregues ao Amazon S3 seguem o formato do nome de. Você pode especificar seu prefixo personalizado que inclui expressões que são avaliadas em tempo de execução. O prefixo personalizado que você especificar substituirá o prefixo padrão de. YYYY/MM/dd/HH
É possível usar expressões nos seguintes formatos no seu prefixo personalizado: !{namespace:
, em que value
}namespace
pode ser um dos que se seguem, como explicado nas próximas seções.
-
firehose
-
timestamp
-
partitionKeyFromQuery
-
partitionKeyFromLambda
Se um prefixo terminar com uma barra, ele aparecerá como uma pasta no bucket do Amazon S3. Para obter mais informações, consulte Formato de nome de objeto do Amazon S3 no Amazon Data FirehoseDeveloper Guide.
Namespace do timestamp
Os valores válidos para esse namespace são cadeias de caracteres Java válidas. DateTimeFormatter!{timestamp:yyyy}
é avaliada para 2018
.
Ao avaliar os timestamps, o Firehose usa o timestamp de chegada aproximado do registro mais antigo contido no objeto Amazon S3 que está sendo gravado.
Por padrão, o timestamp está ativado. UTC Mas você pode especificar o fuso horário de sua preferência. Por exemplo, você pode configurar o fuso horário para Ásia/Tóquio no AWS Management Console ou na configuração de API parâmetros (CustomTimeZone) se você quiser usar o horário padrão do Japão em vez deUTC. Para ver a lista de fusos horários compatíveis, consulte Formato de nome de objeto do Amazon S3.
Se você usar o namespace timestamp
mais de uma vez na mesma expressão do prefixo, cada instância será avaliada no mesmo momento.
Namespace do firehose
Há dois valores que você pode usar com esse namespace: error-output-type
e random-string
. A tabela a seguir explica como usá-los.
Conversão | Descrição | Exemplo de entrada | Exemplo de saída | Observações |
---|---|---|---|---|
error-output-type |
É avaliado como uma das seguintes sequências de caracteres, dependendo da configuração do stream do Firehose e do motivo da falha: {processing-failed, AmazonOpenSearchService -failed, splunk-failed,,}. format-conversion-failed http-endpoint-failed Se você usá-lo mais de uma vez na mesma expressão, cada instância será avaliada para a mesma string de erro. |
myPrefix/result=!{firehose:error-output-type}/!{timestamp:yyyy/MM/dd} |
myPrefix/result=processing-failed/2018/08/03 |
O error-output-type valor só pode ser usado no ErrorOutputPrefix campo. |
random-string |
Avalia para uma string aleatória de 11 caracteres. Se você usá-lo mais de uma vez na mesma expressão, cada instância será avaliada para uma nova string aleatória. |
myPrefix/!{firehose:random-string}/ |
myPrefix/046b6c7f-0b/ |
É possível usá-lo com os dois tipos de prefixo. Pode ser colocado no início da string de formato para obter um prefixo aleatório, o que, às vezes, é necessário para atingir uma throughput extremamente alto com o Amazon S3. |
Namespaces partitionKeyFromLambda
e partitionKeyFromQuery
Para o particionamento dinâmico, você deve usar o seguinte formato de expressão no prefixo de bucket do S3: !{namespace:value}
, em que o namespace pode ser partitionKeyFromQuery
, partitionKeyFromLambda
ou ambos. Se estiver usando análise em linha para criar as chaves de particionamento para os dados da fonte, você deverá especificar um valor de prefixo de bucket do S3 consistindo em expressões especificadas no seguinte formato: "partitionKeyFromQuery:keyID"
. Se você estiver usando um AWS
Função Lambda para criar chaves de particionamento para seus dados de origem, você deve especificar um valor de prefixo de bucket do S3 que consiste em expressões especificadas no seguinte formato:. "partitionKeyFromLambda:keyID"
Para obter mais informações, consulte “Escolha o Amazon S3 para seu destino” em Criar um stream do Amazon Firehose.
Regras semânticas
As regras a seguir se aplicam às expressões Prefix
e ErrorOutputPrefix
.
-
Para o namespace
timestamp
, qualquer caractere que não estiver em aspas simples é avaliado. Em outras palavras, qualquer string recuada com aspas simples no campo do valor é considerada literalmente. -
Se você especificar um prefixo que não contenha uma expressão de namespace de carimbo de data/hora, o Firehose anexará a expressão ao valor no
!{timestamp:yyyy/MM/dd/HH/}
campo.Prefix
-
A sequência
!{
pode aparecer somente em expressões!{namespace:
.value
} -
ErrorOutputPrefix
poderá ser nulo somente sePrefix
não tiver expressões; Neste caso,Prefix
é avaliado como<specified-prefix>yyyy/MM/DDD/HH/
, eErrorOutputPrefix
é avaliado como<specified-prefix><error-output-type>YYYY/MM/DDD/HH/
.DDD
representa o dia do ano. -
Se você especificar uma expressão para
ErrorOutputPrefix
, deverá incluir pelo menos uma instância de!{firehose:error-output-type}
. -
Prefix
não pode conter!{firehose:error-output-type}
. -
Prefix
eErrorOutputPrefix
não podem ter mais de 512 caracteres após serem avaliados. -
Se o destino for o Amazon Redshift, o
Prefix
não deverá conter expressões e oErrorOutputPrefix
deverá ser nulo. -
Quando o destino é Amazon OpenSearch Service ou Splunk e não
ErrorOutputPrefix
é especificado, o Firehose usaPrefix
o campo para registros com falha. -
Quando o destino é o Amazon S3, o
Prefix
e oErrorOutputPrefix
na configuração de destino do Amazon S3 são usados para registros bem-sucedidos e registros com falha, respectivamente. Se você usar o AWS CLI ou oAPI, você pode usarExtendedS3DestinationConfiguration
para especificar uma configuração de backup do Amazon S3 com sua própria e.Prefix
ErrorOutputPrefix
-
Quando você usa o AWS Management Console e defina o destino como Amazon S3, o Firehose usa
Prefix
eErrorOutputPrefix
na configuração de destino para registros bem-sucedidos e registros com falha, respectivamente. Se você especificar um prefixo usando expressões, deverá especificar o prefixo do erro, incluindo.!{firehose:error-output-type}
-
Quando você usa
ExtendedS3DestinationConfiguration
com o AWS CLI, oAPI, ou AWS CloudFormation, se você especificar umS3BackupConfiguration
, o Firehose não fornecerá um padrão.ErrorOutputPrefix
-
Você não pode usar
partitionKeyFromLambda
partitionKeyFromQuery
namespaces ao criar ErrorOutputPrefix expressões.
Prefixos de exemplo
Entrada | Prefixo avaliado (às 10h30 do dia 27 UTC de agosto de 2018) |
---|---|
|
|
|
Entrada inválida: ErrorOutputPrefix não poderá ser nulo quando o prefixo tiver expressões |
|
|
|
|
|
|