AWS Data Pipeline não está mais disponível para novos clientes. Os clientes existentes do AWS Data Pipeline podem continuar usando o serviço normalmente. Saiba mais
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á.
Criar um pipeline usando modelos parametrizados
Você pode usar um modelo parametrizado para personalizar uma definição de pipeline. Isso permite criar uma definição de pipeline comum, mas fornecer parâmetros diferentes quando você adiciona a definição de pipeline a um novo pipeline.
Conteúdo
Adicionar myVariables à definição de pipeline
Ao criar o arquivo de definição de pipeline, especifique variáveis usando a seguinte sintaxe: #{myVariable}. É necessário que a variável seja prefixada por my. Por exemplo, o arquivo de definição de pipeline a seguir, pipeline-definition.json, inclui as seguintes variáveis: myShellCmd, myS3InputLoc e myS3OutputLoc.
nota
Uma definição de pipeline tem um limite máximo de 50 parâmetros.
{ "objects": [ { "id": "ShellCommandActivityObj", "input": { "ref": "S3InputLocation" }, "name": "ShellCommandActivityObj", "runsOn": { "ref": "EC2ResourceObj" }, "command": "#{myShellCmd}", "output": { "ref": "S3OutputLocation" }, "type": "ShellCommandActivity", "stage": "true" }, { "id": "Default", "scheduleType": "CRON", "failureAndRerunMode": "CASCADE", "schedule": { "ref": "Schedule_15mins" }, "name": "Default", "role": "DataPipelineDefaultRole", "resourceRole": "DataPipelineDefaultResourceRole" }, { "id": "S3InputLocation", "name": "S3InputLocation", "directoryPath": "#{myS3InputLoc}", "type": "S3DataNode" }, { "id": "S3OutputLocation", "name": "S3OutputLocation", "directoryPath": "#{myS3OutputLoc}/#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}", "type": "S3DataNode" }, { "id": "Schedule_15mins", "occurrences": "4", "name": "Every 15 minutes", "startAt": "FIRST_ACTIVATION_DATE_TIME", "type": "Schedule", "period": "15 Minutes" }, { "terminateAfter": "20 Minutes", "id": "EC2ResourceObj", "name": "EC2ResourceObj", "instanceType":"t1.micro", "type": "Ec2Resource" } ] }
Definir objetos de parâmetro
Você pode criar um arquivo à parte com objetos de parâmetro que determinem as variáveis na definição de pipeline. Por exemplo, o arquivo JSON a seguir, parameters.json, contém objetos de parâmetro para as variáveis myShellCmd, myS3InputLoc e myS3OutputLoc da definição do pipeline de exemplo acima.
{ "parameters": [ { "id": "myShellCmd", "description": "Shell command to run", "type": "String", "default": "grep -rc \"GET\" ${INPUT1_STAGING_DIR}/* > ${OUTPUT1_STAGING_DIR}/output.txt" }, { "id": "myS3InputLoc", "description": "S3 input location", "type": "AWS::S3::ObjectKey", "default": "s3://us-east-1.elasticmapreduce.samples/pig-apache-logs/data" }, { "id": "myS3OutputLoc", "description": "S3 output location", "type": "AWS::S3::ObjectKey" } ] }
nota
Você poderia adicionar esses objetos diretamente ao arquivo de definição do pipeline, em vez de usar um arquivo à parte.
A tabela a seguir descreve os atributos dos objetos de parâmetro.
| Atributo | Tipo | Descrição |
|---|---|---|
id |
String | O identificador exclusivo do parâmetro. Para mascarar o valor enquanto ele é digitado ou exibido, adicione um asterisco ('*') como um prefixo. Por exemplo, *myVariable—. Isso também criptografa o valor antes que ele seja armazenado pelo AWS Data Pipeline. |
| description | String | Uma descrição do parâmetro. |
| type | String, Integer, Double ou AWS::S3::ObjectKey | O tipo de parâmetro que define o intervalo permitido de valores de entrada e regras de validação. O padrão é String. |
| optional | Booleano | Indica se o parâmetro é opcional ou obrigatório. O padrão é “”. false. |
| allowedValues | Lista de strings | Enumera todos os valores permitidos para o parâmetro. |
| padrão | String | O valor padrão do parâmetro. Se você especificar um valor para esse parâmetro usando valores de parâmetro, ele substituirá o valor padrão. |
| isArray | Booleano | Indica se o parâmetro é uma matriz. |
Definir valores de parâmetro
Você pode criar um arquivo à parte para definir as variáveis usando valores de parâmetro. Por exemplo, o arquivo JSON a seguir, file://values.json, contém o valor da variável myS3OutputLoc da definição do pipeline de exemplo acima.
{ "values": { "myS3OutputLoc": "myOutputLocation" } }
Enviar a definição de pipeline
Ao enviar a definição de pipeline, você pode especificar parâmetros, objetos de parâmetro e valores de parâmetro. Por exemplo, você pode usar o comando da https://docs.aws.amazon.com/cli/latest/reference/datapipeline/put-pipeline-definition.htmlput-pipeline-definitionAWS CLI da seguinte maneira:
$ aws datapipeline put-pipeline-definition --pipeline-idid--pipeline-definition file://pipeline-definition.json\ --parameter-objects file://parameters.json--parameter-values-uri file://values.json
nota
Uma definição de pipeline tem um limite máximo de 50 parâmetros. O tamanho do arquivo para parameter-values-uri tem um limite máximo de 15 KB.