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á.
Classe DynamicFrameWriter
Métodos
__init__
__init__(glue_context)
glue_context
– O GlueContext classe a ser usado.
from_options
from_options(frame, connection_type, connection_options={},
format=None, format_options={}, transformation_ctx="")
Escreve um DynamicFrame
usando a conexão e o formato especificados.
frame
– ODynamicFrame
a ser escrito.connection_type
: o tipo de conexão. Os valores válidos incluems3
,mysql
,postgresql
,redshift
,sqlserver
eoracle
.connection_options
– Opções de conexão, como caminho e tabela de banco de dados (opcional). Para umconnection_type
dos3
, um caminho do Amazon S3 é definido.connection_options = {"path": "
s3://aws-glue-target/temp
"}Para conexões JDBC, várias propriedades devem ser definidas. Observe que o nome do banco de dados deve fazer parte do URL. Ele também pode ser incluído nas opções de conexão.
Atenção
Não é recomendável armazenar senhas no script. Considere usar
boto3
para recuperá-los do AWS Secrets Manager ou do catálogo de dados do AWS Glue.connection_options = {"url": "
jdbc-url/database
", "user": "username
", "password":passwordVariable
,"dbtable": "table-name
", "redshiftTmpDir": "s3-tempdir-path
"}A propriedade
dbtable
é o nome da tabela JDBC. Para armazenamentos de dados JDBC que oferecem suporte a esquemas dentro de um banco de dados, especifiqueschema.table-name
. Se um esquema não for fornecido, o esquema "público" padrão será usado.Para ter mais informações, consulte Tipos e opções de conexão para ETL no AWS Glue para Spark.
format
: uma especificação de formato (opcional). Essa ação é usada para um Amazon Simple Storage Service (Amazon S3) ou uma conexão do AWS Glue que ofereça suporte a vários formatos. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.format_options
: as opções de formato para o formato especificado. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.transformation_ctx
– Um contexto de transformação a ser usado (opcional).
from_catalog
from_catalog(frame, name_space, table_name, redshift_tmp_dir="", transformation_ctx="")
Escreve um DynamicFrame
usando o banco de dados do catálogo e o nome da tabela especificados.
frame
– ODynamicFrame
a ser escrito.name_space
– O mecanismo de banco de dados a ser usado.table_name
– Otable_name
a ser usado.redshift_tmp_dir
: um diretório temporário do Amazon RedShift a ser usado (opcional).transformation_ctx
– Um contexto de transformação a ser usado (opcional).-
additional_options
: opções adicionais fornecidas ao AWS Glue.Para gravar em tabelas governadas pelo Lake Formation, você pode usar estas opções adicionais:
-
transactionId
: (string) o ID da transação no qual fazer a gravação na tabela governada. Esta transação já não pode ser confirmada ou anulada, ou a gravação falhará. -
callDeleteObjectsOnCancel
: (booleano, opcional) Se definido comotrue
(padrão), o AWS Glue chama automaticamente a APIDeleteObjectsOnCancel
após o objeto ser gravado no Amazon S3. Para obter mais informações, consulte DeleteObjectsOnCancel no Guia do desenvolvedor do AWS Lake Formation.
exemplo Exemplo: gravação em uma tabela governada no Lake Formation
txId = glueContext.start_transaction(read_only=False) glueContext.write_dynamic_frame.from_catalog( frame=dyf, database = db, table_name = tbl, transformation_ctx = "datasource0", additional_options={"transactionId":txId}) ... glueContext.commit_transaction(txId)
-
from_jdbc_conf
from_jdbc_conf(frame, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx="")
Escreve um DynamicFrame
usando as informações de conexão JDBC especificadas.
frame
– ODynamicFrame
a ser escrito.catalog_connection
– Uma conexão de catálogo a ser usada.connection_options
– Opções de conexão, como caminho e tabela de banco de dados (opcional).redshift_tmp_dir
: um diretório temporário do Amazon RedShift a ser usado (opcional).transformation_ctx
– Um contexto de transformação a ser usado (opcional).
Exemplo para write_dynamic_frame
Este exemplo grava a saída localmente usando um connection_type
do S3 com um argumento de caminho POSIX em connection_options
, o que permite gravar no armazenamento local.
glueContext.write_dynamic_frame.from_options(\ frame = dyf_splitFields,\ connection_options = {'path': '/home/glue/GlueLocalOutput/'},\ connection_type = 's3',\ format = 'json')