Azure SQL 연결 - AWS Glue

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Azure SQL 연결

AWS Glue for Spark를 사용하여 AWS Glue 4.0 이상 버전에서 Azure SQL Managed Instances의 테이블에서 읽고 쓸 수 있습니다. SQL 쿼리를 사용하여 Azure SQL에서 읽을 내용을 정의할 수 있습니다. AWS Glue 연결을 통해 AWS Secrets Manager에 저장된 사용자 이름 및 암호 보안 인증 정보를 사용하여 Azure SQL에 연결할 수 있습니다.

Azure SQL에 대한 자세한 내용은 Azure SQL 설명서를 참조하십시오.

Azure SQL 연결 구성

AWS Glue에서 Azure SQL에 연결하려면 Azure SQL 보안 인증 정보를 만들어 AWS Secrets Manager 암호에 저장한 다음 해당 암호를 Azure SQL AWS Glue 연결에 연결해야 합니다.

Azure SQL에 대한 연결을 구성하는 방법:
  1. AWS Secrets Manager에서 Azure SQL 보안 인증을 사용하여 보안 암호를 생성합니다. Secrets Manager에서 보안 암호를 생성하려면 AWS Secrets Manager 설명서의 Create an AWS Secrets Manager secret에서 제공하는 자습서를 따릅니다. 보안 암호를 생성한 후에는 다음 단계를 위해 보안 암호 이름, secretName을 유지합니다.

    • 키/값 페어를 선택하면 값 azuresqlUsername이 포함된 키 user에 대한 페어를 생성합니다.

    • 키/값 페어를 선택하면 값 azuresqlPassword가 포함된 키 password에 대한 페어를 생성합니다.

  2. AWS Glue 콘솔에서 AWS Glue 연결 추가의 단계에 따라 연결을 생성합니다. 연결을 생성한 후에는 AWS Glue에서 이용하기 위해 연결 이름 connectionName을 유지합니다.

    • 연결 유형을 선택할 때 Azure SQL를 선택합니다.

    • Azure SQL URL을 제공할 때는 JDBC 엔드포인트 URL을 제공하십시오.

      목록은 jdbc:sqlserver://databaseServerName:databasePort;databaseName=azuresqlDBname; 형식이어야 합니다.

      AWS Glue에는 다음과 같은 URL 속성이 필요합니다.

      • databaseName - 연결할 Azure SQL의 기본 데이터베이스입니다.

      Azure SQL 관리형 인스턴스용 JDBC URL에 대한 자세한 내용은 Microsoft 설명서를 참조하십시오.

    • AWS 보안 암호를 선택할 때 secretName을 입력합니다.

AWS Glue Azure SQL 연결을 생성한 후에는 AWS Glue 작업을 실행하기 전에 다음 단계를 수행해야 합니다.

  • AWS Glue 작업과 연결된 IAM 역할에 secretName을 읽을 수 있는 권한을 부여합니다.

  • AWS Glue 작업 구성에서 추가 네트워크 연결connectionName을 제공합니다.

Azure SQL 테이블에서 읽는 중

사전 조건:

  • 읽으려는 Azure SQL 테이블. 테이블, databaseName, tableIdentifier에 대한 식별 정보가 필요합니다.

    Azure SQL 테이블은 데이터베이스, 스키마 및 테이블 이름으로 식별됩니다. Azure SQL에 연결할 때 데이터베이스 이름과 테이블 이름을 제공해야 합니다. 스키마가 기본값인 "public"이 아닌 경우에도 스키마를 제공해야 합니다. 데이터베이스는 connectionName의 URL 속성을, dbtable을 통해 스키마 및 테이블 이름을 제공 받습니다.

  • 인증 정보를 제공하도록 구성된 AWS Glue Azure SQL 연결입니다. 인증 정보를 구성하려면 앞 절차인 Azure SQL에 대한 연결을 구성하는 방법의 단계를 완료하십시오. AWS Glue 연결의 이름인 connectionName이 필요합니다.

예:

azuresql_read_table = glueContext.create_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "connectionName", "dbtable": "tableIdentifier" } )

SELECT SQL 쿼리에 반환되는 결과를 필터링하는 쿼리를 제공할 수도 있습니다. query을 구성해야 합니다.

예:

azuresql_read_query = glueContext.create_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "connectionName", "query": "query" } )

Azure SQL 테이블에 쓰기

이 예제에서는 기존 DynamicFrame, dynamicFrame의 정보를 Azure SQL에 씁니다. 테이블에 이미 정보가 있는 경우 AWS Glue는 DynamicFrame의 데이터를 추가합니다.

사전 조건:

  • 쓰려는 Azure SQL 테이블. 테이블, databaseName, tableIdentifier에 대한 식별 정보가 필요합니다.

    Azure SQL 테이블은 데이터베이스, 스키마 및 테이블 이름으로 식별됩니다. Azure SQL에 연결할 때 데이터베이스 이름과 테이블 이름을 제공해야 합니다. 스키마가 기본값인 "public"이 아닌 경우에도 스키마를 제공해야 합니다. 데이터베이스는 connectionName의 URL 속성을, dbtable을 통해 스키마 및 테이블 이름을 제공 받습니다.

  • Azure SQL 인증 정보. 인증 정보를 구성하려면 앞 절차인 Azure SQL에 대한 연결을 구성하는 방법의 단계를 완료하십시오. AWS Glue 연결의 이름인 connectionName이 필요합니다.

예:

azuresql_write = glueContext.write_dynamic_frame.from_options( connection_type="azuresql", connection_options={ "connectionName": "connectionName", "dbtable": "tableIdentifier" } )

Azure SQL 연결 옵션 참조

  • connectionName — 필수입니다. 읽기 및 쓰기에 사용됩니다. 연결 방법에 인증 정보를 제공하도록 구성된 AWS Glue Azure SQL 연결의 이름입니다.

  • databaseName - 읽기/쓰기에 사용됩니다. 유효한 값: Azure SQL 데이터베이스 이름. 연결할 Azure SQL 데이터베이스의 이름입니다.

  • dbtable - 쓰기 시 필수, query가 제공되지 않는 한 읽기 전용. 읽기 및 쓰기에 사용됩니다. 유효한 값: Azure SQL 테이블의 이름 또는 마침표로 구분된 스키마/테이블 이름 조합. 연결할 테이블을 식별하는 테이블과 스키마를 지정하는 데 사용됩니다. 기본 스키마는 "public"입니다. 테이블이 기본 스키마가 아닌 스키마를 사용하는 경우 이 정보를 양식 schemaName.tableName에 입력하십시오.

  • query — 읽기에 사용됩니다. Azure SQL에서 읽을 때 검색해야 하는 내용을 정의하는 Transact-SQL SELECT 쿼리입니다. 자세한 내용은 Microsoft 설명서를 참조하십시오.