AddApplicationReferenceDataSource - Guia do Desenvolvedor de Amazon Kinesis Data Analytics para aplicativos SQL

Para novos projetos, recomendamos que você use o novo Managed Service for Apache Flink Studio em vez do Kinesis Data Analytics para aplicativos SQL. O Managed Service for Apache Flink Studio combina facilidade de uso com recursos analíticos avançados, permitindo que você crie aplicativos sofisticados de processamento de stream em minutos.

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á.

AddApplicationReferenceDataSource

nota

Esta documentação é para a versão 1 da API do Amazon Kinesis Data Analytics, que oferece suporte somente a aplicativos SQL. A versão 2 da API oferece suporte a aplicativos Java e SQL. Para obter mais informações sobre a versão 2, consulte Documentação da API V2 do Amazon Kinesis Data Analytics.

Adiciona uma fonte de dados de referência a um aplicativo existente.

O Amazon Kinesis Analytics lê os dados de referência (ou seja, um objeto do Amazon S3) e cria uma tabela no aplicativo em seu aplicativo. Na solicitação, você fornece a origem (nome do bucket do S3 e nome da chave do objeto), o nome da tabela no aplicativo a ser criada e as informações do mapeamento necessárias que descrevem como os dados no objeto do Amazon S3 são mapeados para colunas na tabela no aplicativo resultante.

Para obter informações conceituais, consulte Configuração da entrada do aplicativo. Para obter os limites nas fontes de dados que você pode adicionar ao aplicativo, consulte Limites.

Essa operação exige permissões para executar a ação kinesisanalytics:AddApplicationOutput.

Sintaxe da Solicitação

{ "ApplicationName": "string", "CurrentApplicationVersionId": number, "ReferenceDataSource": { "ReferenceSchema": { "RecordColumns": [ { "Mapping": "string", "Name": "string", "SqlType": "string" } ], "RecordEncoding": "string", "RecordFormat": { "MappingParameters": { "CSVMappingParameters": { "RecordColumnDelimiter": "string", "RecordRowDelimiter": "string" }, "JSONMappingParameters": { "RecordRowPath": "string" } }, "RecordFormatType": "string" } }, "S3ReferenceDataSource": { "BucketARN": "string", "FileKey": "string", "ReferenceRoleARN": "string" }, "TableName": "string" } }

Parâmetros da solicitação

A solicitação aceita os dados a seguir no formato JSON.

ApplicationName

O nome de um aplicativo existente.

Tipo: sequência

Restrições de tamanho: tamanho mínimo 1. O tamanho máximo é 128.

Padrão: [a-zA-Z0-9_.-]+

Exigido: Sim

CurrentApplicationVersionId

Versão do aplicativo ao qual você está adicionando a fonte de dados de referência. Você pode usar a DescribeApplicationoperação para obter a versão atual do aplicativo. Se a versão especificada não for a versão atual, ConcurrentModificationException será retornado.

Tipo: longo

Faixa válida: valor mínimo de 1. Valor máximo de 999999999.

Obrigatório: Sim

ReferenceDataSource

A fonte de dados de referência pode ser um objeto em seu bucket do Amazon S3. O Amazon Kinesis Analytics lê o objeto e copia os dados na tabela no aplicativo que é criada. Você fornece um bucket do S3, o nome da chave do objeto e a tabela no aplicativo resultante que é criada. Forneça também uma função do IAM com as permissões necessárias que o Amazon Kinesis Analytics pode assumir para ler o objeto no bucket do S3 em seu nome.

Tipo: objeto ReferenceDataSource

Obrigatório: Sim

Elementos de Resposta

Se a ação tiver êxito, o serviço enviará de volta uma resposta HTTP 200 com um corpo HTTP vazio.

Erros

ConcurrentModificationException

Exceção lançada como resultado da modificação simultânea em um aplicativo. Por exemplo, duas pessoas tentando editar o mesmo aplicativo ao mesmo tempo.

Código de Status HTTP: 400

InvalidArgumentException

O valor do parâmetro de entrada especificado é inválido.

Código de Status HTTP: 400

ResourceInUseException

O aplicativo não está disponível para esta operação.

Código de Status HTTP: 400

ResourceNotFoundException

A aplicação especificada não pode ser encontrada.

Código de Status HTTP: 400

UnsupportedOperationException

A solicitação foi rejeitada porque um parâmetro especificado não é compatível ou um recurso especificado não é válido para esta operação.

Código de Status HTTP: 400

Consulte também

Para obter mais informações sobre como usar essa API em um dos AWS SDKs específicos da linguagem, consulte o seguinte: