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á.
Fazendo uma solicitação HTTP para AWS Data Pipeline
Para obter uma descrição completa dos objetos programáticos em AWS Data Pipeline, consulte a Referência da AWS Data Pipeline API.
Se você não usa uma das AWS SDKs, pode realizar AWS Data Pipeline operações via HTTP usando o método de solicitação POST. O método POST exige a especificação da operação no cabeçalho da solicitação e o fornecimento de dados para operação no formato JSON no corpo da solicitação.
Conteúdo de cabeçalho HTTP
AWS Data Pipeline requer as seguintes informações no cabeçalho de uma solicitação HTTP:
-
host
O AWS Data Pipeline ponto final.Para obter informações sobre endpoints, consulte Regiões e endpoints.
-
x-amz-date
Você deve fornecer o carimbo de data/hora no cabeçalho HTTP Date ou no x-amz-date cabeçalho da AWS. (Algumas bibliotecas de cliente HTTP não permitem a definição do cabeçalho Date). Quando um x-amz-date cabeçalho está presente, o sistema ignora qualquer cabeçalho de data durante a autenticação da solicitação.A data precisa ser especificada em um destes três formatos, conforme especificado em HTTP/1.1 RFC:
-
Domingo, 06-Nov-1994 08:49:37 GMT (RFC 822, atualizada pela RFC 1123)
-
Domingo, 06-Nov-94 08:49:37 GMT (RFC 850, substituído por RFC 1036)
-
Dom Nov 6 08:49:37 1994 (formato ANSI C asctime())
-
-
Authorization
O conjunto de parâmetros de autorização que a AWS usa para garantir a validade e a autenticidade da solicitação. Para obter mais informações sobre como criar esse cabeçalho, acesse Processo de assinatura do Signature versão 4. -
x-amz-target
O serviço de destino da solicitação e a operação para os dados, no formato:<<serviceName>>_<<API version>>.<<operationName>>
Por exemplo,
DataPipeline_20121129.ActivatePipeline
-
content-type
Especifica o JSON e a versão. Por exemplo,Content-Type: application/x-amz-json-1.0
Veja a seguir um exemplo de cabeçalho para uma solicitação HTTP para ativar um pipeline.
POST / HTTP/1.1 host: https://datapipeline.us-east-1.amazonaws.com x-amz-date: Mon, 12 Nov 2012 17:49:52 GMT x-amz-target: DataPipeline_20121129.ActivatePipeline Authorization: AuthParams Content-Type: application/x-amz-json-1.1 Content-Length: 39 Connection: Keep-Alive
Conteúdo do corpo HTTP
O corpo de uma solicitação HTTP apresenta os dados da operação especificada no cabeçalho da solicitação HTTP. Os dados devem ser formatados de acordo com o esquema de dados JSON de cada API. AWS Data Pipeline O esquema de dados AWS Data Pipeline JSON define os tipos de dados e parâmetros (como operadores de comparação e constantes de enumeração) disponíveis para cada operação.
Formatar o corpo de uma solicitação HTTP
Use o formato de dados JSON para transmitir valores e estrutura de dados, simultaneamente. Os elementos podem ser aninhados dentro de outros elementos usando a notação de colchetes. O exemplo a seguir mostra uma solicitação para colocação de uma definição de pipeline que consiste em três objetos e os seus slots correspondentes.
{ "pipelineId": "df-00627471SOVYZEXAMPLE", "pipelineObjects": [ {"id": "Default", "name": "Default", "slots": [ {"key": "workerGroup", "stringValue": "MyWorkerGroup"} ] }, {"id": "Schedule", "name": "Schedule", "slots": [ {"key": "startDateTime", "stringValue": "2012-09-25T17:00:00"}, {"key": "type", "stringValue": "Schedule"}, {"key": "period", "stringValue": "1 hour"}, {"key": "endDateTime", "stringValue": "2012-09-25T18:00:00"} ] }, {"id": "SayHello", "name": "SayHello", "slots": [ {"key": "type", "stringValue": "ShellCommandActivity"}, {"key": "command", "stringValue": "echo hello"}, {"key": "parent", "refValue": "Default"}, {"key": "schedule", "refValue": "Schedule"} ] } ] }
Lidar com resposta HTTP
A seguir são apresentados alguns cabeçalhos importantes na resposta HTTP e a explicação sobre como você deve lidar com eles em seu aplicativo:
-
HTTP/1.1 – Esse cabeçalho é acompanhado de um código de status. O valor de código 200 indica uma operação bem-sucedida. Qualquer outro valor indica um erro.
-
x-amzn- RequestId —Esse cabeçalho contém uma ID de solicitação que você pode usar se precisar solucionar problemas com uma solicitação. AWS Data Pipeline Um exemplo de ID de solicitação é K2 QH8 DNOU9 FNA2 GDLL8 OBVV4 KQNSO5 AEMVJF66 07N97 Q9ASUAAJG.
-
x-amz-crc32 —AWS Data Pipeline calcula uma CRC32 soma de verificação da carga HTTP e retorna essa soma de verificação no cabeçalho 32. x-amz-crc Recomendamos que você calcule sua própria CRC32 soma de verificação no lado do cliente e a compare com o cabeçalho x-amz-crc 32; se as somas de verificação não coincidirem, isso pode indicar que os dados foram corrompidos em trânsito. Se isso acontecer, tente enviar sua solicitação novamente.
Os usuários do AWS SDK não precisam realizar essa verificação manualmente, pois eles SDKs calculam a soma de verificação de cada resposta do Amazon DynamoDB e tentam novamente automaticamente se uma incompatibilidade for detectada.
Exemplo de solicitação e resposta AWS Data Pipeline JSON
Os exemplos a seguir mostram uma solicitação para criar um novo pipeline. Em seguida, mostra a AWS Data Pipeline resposta, incluindo o identificador do pipeline recém-criado.
Solicitação HTTP POST
POST / HTTP/1.1 host: https://datapipeline.us-east-1.amazonaws.com x-amz-date: Mon, 12 Nov 2012 17:49:52 GMT x-amz-target: DataPipeline_20121129.CreatePipeline Authorization: AuthParams Content-Type: application/x-amz-json-1.1 Content-Length: 50 Connection: Keep-Alive {"name": "MyPipeline", "uniqueId": "12345ABCDEFG"}
AWS Data Pipeline Resposta
HTTP/1.1 200 x-amzn-RequestId: b16911ce-0774-11e2-af6f-6bc7a6be60d9 x-amz-crc32: 2215946753 Content-Type: application/x-amz-json-1.0 Content-Length: 2 Date: Mon, 16 Jan 2012 17:50:53 GMT {"pipelineId": "df-00627471SOVYZEXAMPLE"}