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á.
Conexões do Azure Cosmos DB
O AWS Glue para Spark pode ser usado para ler e escrever em contêineres existentes no Azure Cosmos DB usando a API NoSQL no AWS Glue 4.0 e versões posteriores. Você pode definir o que ler no Azure Cosmos DB com uma consulta SQL. Conecte-se ao Azure Cosmos DB usando uma chave do Azure Cosmos DB armazenada no AWS Secrets Manager via conexão do AWS Glue.
Para obter mais informações sobre o Azure Cosmos DB para NoSQL, consulte a Documentação do Azure
Configurar conexões do Azure Cosmos DB
Para se conectar ao Azure Cosmos DB via AWS Glue, será necessário criar e armazenar sua chave do Azure Cosmos DB em um segredo do AWS Secrets Manager e, em seguida, associar esse segredo a uma conexão do Azure Cosmos DB AWS Glue.
Pré-requisitos:
No Azure, será necessário identificar ou gerar uma chave do Azure Cosmos DB para uso pelo AWS Glue,
cosmosKey
. Para obter mais informações, consulte Acesso seguro a dados no Azure Cosmos DBna documentação do Azure.
Para configurar uma conexão com o Azure Cosmos DB:
No AWS Secrets Manager, crie um segredo usando sua chave do Azure Cosmos DB. Para criar um segredo no Secrets Manager, siga o tutorial disponível em Criar uma AWS Secrets Manager segredo na documentação do AWS Secrets Manager. Depois de criar o segredo, guarde o nome secreto,
SecretName
, para a próxima etapa.-
Ao selecionar Pares chave/valor, crie um par para a chave
spark.cosmos.accountKey
com o valorcosmosKey
.
-
No console do AWS Glue, crie uma conexão seguindo as etapas em Adicionando uma AWS Glue conexão. Depois de criar a conexão, guarde o nome da conexão,
connectionName
, para uso futuro no AWS Glue.Ao selecionar um Tipo de conexão, selecione Azure Cosmos DB.
Ao selecionar um Segredo da AWS, forneça o
secretName
.
Depois de criar uma conexão AWS Glue Azure Cosmos DB, siga estas etapas antes de executar seu trabalho do AWS Glue:
Conceda ao perfil do IAM associada ao seu trabalho do AWS Glue permissão para ler
secretName
.Na configuração do trabalho do AWS Glue, forneça
connectionName
como uma conexão de rede adicional.
Ler de contêineres do Azure Cosmos DB para NoSQL
Pré-requisitos:
-
Um contêiner do Azure Cosmos DB para NoSQL do qual você gostaria de ler. Você precisará de informações de identificação para o contêiner.
Um contêiner do Azure Cosmos para NoSQL é identificado por seu banco de dados e contêiner. É necessário fornecer os nomes do banco de dados,
cosmosDBName
e do contêiner,cosmosContainerName
, ao se conectar à API do Azure Cosmos para NoSQL. -
Uma conexão do AWS Glue Azure Cosmos DB configurada para fornecer informações de autenticação e localização da rede. Para fazer isso, conclua as etapas do procedimento anterior, Para configurar uma conexão com o Azure Cosmos DB. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
azurecosmos_read = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName":
connectionName
, "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
, } )
Você também pode fornecer uma consulta SQL SELECT para filtrar os resultados retornados ao seu DynamicFrame. Você precisará configurar query
.
Por exemplo:
azurecosmos_read_query = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName": "
connectionName
", "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
, "spark.cosmos.read.customQuery": "query
" } )
Escrever em contêineres do Azure Cosmos DB para NoSQL
Este exemplo escreve informações de um DynamicFrame existente, dynamicFrame
, no Azure Cosmos DB. Se o contêiner já contiver informações, o AWS Glue anexará dados do seu DynamicFrame. Se as informações no contêiner tiverem um esquema diferente das informações que você escrever, haverá erros.
Pré-requisitos:
-
Uma tabela do Azure Cosmos DB em que você deseja escrever. Você precisará de informações de identificação para o contêiner. É necessário criar o contêiner antes de chamar o método de conexão.
Um contêiner do Azure Cosmos para NoSQL é identificado por seu banco de dados e contêiner. É necessário fornecer os nomes do banco de dados,
cosmosDBName
e do contêiner,cosmosContainerName
, ao se conectar à API do Azure Cosmos para NoSQL. -
Uma conexão do AWS Glue Azure Cosmos DB configurada para fornecer informações de autenticação e localização da rede. Para fazer isso, conclua as etapas do procedimento anterior, Para configurar uma conexão com o Azure Cosmos DB. Você precisará do nome da conexão AWS Glue,
ConnectionName
.
Por exemplo:
azurecosmos_write = glueContext.write_dynamic_frame.from_options( frame=
dynamicFrame
, connection_type="azurecosmos", connection_options={ "connectionName":connectionName
, "spark.cosmos.database":cosmosDBName
, "spark.cosmos.container":cosmosContainerName
)
Referência de opções de conexão do Azure Cosmos DB
-
connectionName
— Obrigatório. Usado para leitura/gravação. O nome de uma conexão AWS Glue Azure Cosmos DB configurada para fornecer informações de autenticação e localização da rede ao seu método de conexão. -
spark.cosmos.database
— Obrigatório. Usado para leitura/gravação. Valores válidos: nomes de bancos de dados. Nome do banco de dados do Azure Cosmos DB para NoSQL. -
spark.cosmos.container
— Obrigatório. Usado para leitura/gravação. Valores válidos: nomes de contêineres. Nome do contêiner do Azure Cosmos DB para NoSQL. -
spark.cosmos.read.customQuery
- Usado para leitura. Valores válidos: consultas SQL SELECT. Consulta personalizada para selecionar documentos a serem lidos.