Azure Cloud Storage
Azure Cloud Storage는 텍스트, 이진 파일, 미디어, 로그 및 앱 백업을 포함한 비정형 데이터를 위한 Microsoft의 관리형 개체 스토리지 서비스입니다.핫, 쿨, 아카이브 액세스 계층을 지원하며, 지역 중복 복제를 제공하고, 안전한 액세스 제어를 위해 Microsoft Entra ID(이전 Azure Active Directory)와 통합됩니다.
Qlik Talend Cloud는 대상 스토리지 계정 컨테이너에 대한 읽기 권한이 있는 Microsoft Entra ID 앱(서비스 주체)을 사용하여 Azure Cloud Storage에 연결합니다.커넥터는 지정된 컨테이너에서 파일을 검색하고, 파일 내용을 샘플링하여 스키마를 자동으로 검색하며, 파일 수정 日付と時刻을 기반으로 증분 데이터 복제를 수행합니다.
인증 준비 중
데이터에 액세스하려면 계정 자격 증명으로 연결을 인증해야 합니다.
Azure 클라우드 스토리지 계정을 설정하려면 다음이 필요합니다:
- Azure Storage 계정이 있는 Azure 구독.
- 복제할 파일을 포함하는 스토리지 계정의 블롭 컨테이너.
- 클라이언트 암호가 있는 Microsoft Entra ID 애플리케이션 등록
- 앱의 서비스 주체에 할당되며 스토리지 계정 또는 특정 컨테이너로 범위가 지정된 스토리지 Blob 데이터 읽기 역할.읽기 전용 액세스를 위한 권장되는 최소 권한 역할입니다.
Microsoft Entra ID 앱을 등록하고 자격 증명을 검색하려면:
- 귀하의 Azure 계정에 로그인하세요.
- 다음으로 이동: Microsoft Entra ID > 앱 등록 > 새 등록.
- 앱에 다음 정보를 입력하세요:
- 이름: 이름을 입력하세요. 예를 들어 QlikDataIntegration입니다.
- 지원되는 계정 유형: 이 조직 디렉터리의 계정만 선택.
- 등록을 클릭하세요.
- 앱 개요 페이지에서 애플리케이션(클라이언트) ID와 디렉터리(테넌트) ID를 모두 복사하여 보안 파일에 저장합니다.
- 인증서 및 비밀 > 클라이언트 비밀 > 새 클라이언트 비밀로 이동합니다.
- 설명을 입력하고 클라이언트 암호의 만료 기간을 선택하십시오.
- 추가를 클릭하세요.
- 클라이언트 암호 값을 복사하여 보안 파일에 저장하십시오.
- Azure Portal에서 스토리지 계정을 열고 다음으로 이동합니다. 액세스 제어 (IAM) > 추가 > 역할 할당 추가.
- Storage Blob 데이터 읽기 역할을 선택하고, 이 역할을 방금 등록한 앱에 할당합니다.
- 저장을 클릭하세요.
지원되는 파일 형식
- 구분된 텍스트 파일:
.csv,.tsv,.psv,.txt(구성 가능한 구분 기호 사용) - JSON Lines:
.jsonl - 파케이:
.parquet - 아브로:
.avro - Excel:
.xlsx(통합 문서당 여러 시트가 지원됩니다. 각 시트의 행이 복제되며, 시트 이름은_sdc_source_file열에 추가됩니다.) - Gzip 압축 파일:
.gz(위 형식 중 하나를 포함)
연결 생성 중
자세한 내용은 SaaS 응용 프로그램에 연결을 참조하십시오.
- 필요한 연결 속성을 입력합니다.
-
연결 이름에 연결 이름을 입력합니다.
-
연결이 만들어질 때 연결에 대한 메타데이터를 정의하려면 연결 메타데이터 열기를 선택합니다.
-
만들기를 클릭합니다.
| 설정 | 설명 |
|---|---|
| 데이터 게이트웨이 |
사용 사례에 필요한 경우 데이터 이동 게이트웨이를 선택합니다. 정보 메모
이 필드는 데이터 이동 게이트웨이를 지원하지 않으므로 Qlik Talend Cloud 시작 구독에서는 사용할 수 없습니다. 다른 구독 계층이 있고 데이터 이동 게이트웨이를 사용하지 않으려면 없음을 선택합니다. 데이터 이동 게이트웨이의 이점과 이를 필요로 하는 사용 사례에 대한 자세한 내용은 Qlik 데이터 게이트웨이 - 데이터 이동를 참조하십시오. |
| 시작일 |
데이터를 소스에서 대상으로 복제해야 하는 날짜를 |
| 스토리지 계정 이름 | Azure Storage 계정 이름 (예: mystorageaccount, https:// 또는 .blob.core.windows.net 없이). |
| 컨테이너 이름 | Blob 컨테이너 이름, 예를 들어 my-container. |
| 테넌트 ID | 테넌트 ID. |
| 테이블 | 테이블 구성은 어떤 파일을 읽고 해당 내용이 어떻게 해석되는지 결정합니다.각 테이블 정의에는 파일 검색 패턴, 테이블 이름, 그리고 파일 처리 사용자 지정을 위한 선택적 설정이 포함됩니다. |
| 클라이언트 ID | 클라이언트 ID. |
| 클라이언트 암호 | 클라이언트 암호. |
테이블 구성
테이블 구성의 각 항목은 컨테이너의 파일에서 파생된 논리 테이블을 나타냅니다.각 테이블에 대해 다음 속성을 구성할 수 있습니다.
| 속성 | 필수 또는 선택 | 설명 |
|---|---|---|
| 테이블 이름 | 필수 | 논리 테이블의 이름을 지정하십시오 (예: my_orders_csv).이것이 Qlik Talend Cloud에서 스트림 이름이 됩니다. |
| 검색 패턴 | 필수 | 파일 이름을 일치시키는 정규식을 제공합니다 (예를 들어, .*\.csv$는 모든 CSV 파일과 일치합니다).컨테이너 내 파일 이름 또는 지정된 디렉터리(제공된 경우)에 적용합니다. |
| 디렉터리 | 선택 사항 | 컨테이너 내에서 파일 검색 범위를 좁히려면 폴더 경로 접두사를 입력하세요 (예: exports/orders/).스캔하는 파일 수를 제한하여 성능을 향상시키세요.이것은 정규 표현식이 아닙니다. |
| 기본 키 | 선택 사항 | 기본 키로 사용할 열 이름의 쉼표로 구분된 목록을 정의합니다(예: id 또는 id,date).CSV 파일의 경우 헤더 필드 이름을 사용하고, JSONL 파일의 경우 최상위 객체 키를 사용하세요.전체 테이블 복제를 사용하려면 비워 두세요.파일 수정 시간을 기반으로 증분 복제를 활성화하려면 채우십시오. |
| 날짜/시간 필드 지정 | 선택 사항 | 스키마 검색 중 자동으로 감지되지 않더라도 날짜/시간 필드로 처리할 열 이름을 쉼표로 구분하여 나열합니다(예: created_at, updated_at). |
| 구분 기호 | 선택 사항 | 구분된 텍스트 파일의 필드 구분 기호를 지정합니다.기본값은 , (쉼표)입니다.TSV 파일에는 \t을 사용하거나, PSV 파일에는 |을 사용하세요.지정하지 않으면 파일 확장자에 따라 구분 기호가 자동으로 감지됩니다. |
.jsonl및.csv파일을 별도의 테이블로 구성하여 정확한 스키마 처리 및 데이터 일관성을 보장하십시오.- 모든
.csv파일이 검색 패턴과 일치하며, 일관된 헤더 행과 동일한 열 이름 및 순서를 포함하는지 확인하십시오. - 각 테이블에 대해 정의된 모든
.jsonl파일에서 일관된 객체 속성 키를 사용하세요.안정적인 스키마 감지를 위해 키 이름과 구조가 일치해야 합니다.
테이블 복제됨
테이블은 제공하는 테이블 구성에서 정의됩니다.각 테이블은 지정된 검색 패턴과 해당되는 경우 디렉터리 접두사에 일치하는 블롭 컨테이너 내의 파일 집합에 해당합니다.커넥터는 테이블당 최대 5개의 파일을 샘플링하고, 5번째 행마다 읽으며, 파일당 최대 1,000개의 레코드를 분석하여 테이블 스키마를 검색합니다.
기본 키가 구성된 경우, 복제는 파일 수정 시간을 기반으로 하는 증분 방식을 사용합니다.마지막 동기화 북마크 이후 수정된 파일은 각 추출 시 처리됩니다.기본 키가 지정되지 않은 경우, 매 실행 시 전체 테이블이 완전히 복제됩니다.
아래 시스템 열이 각 테이블에 기본적으로 추가됩니다:
| 열 | 설명 |
|---|---|
_sdc_source_container
|
레코드가 시작된 Azure blob 컨테이너의 이름입니다. |
_sdc_source_file
|
레코드를 포함하는 파일의 전체 경로입니다.Excel 파일의 경우, 시트 이름이 추가됩니다 (예: exports/q1.xlsx/Sheet1). |
_sdc_source_lineno
|
파일 내 레코드의 줄 번호입니다. |
_sdc_extra
|
발견된 스키마와 일치하지 않는 추가 필드가 파싱되었습니다 (.jsonl 파일에만 해당). |
제한 사항 및 고려 사항
- 스토리지 계정 이름은 베어 이름으로 제공되며, URL이 아닙니다.
- Gzip 압축 파일 (
.gz)이 지원됩니다.커넥터는 내부 파일 형식을 파악하기 위해 gzip 헤더에서 원본 파일 이름을 읽어옵니다.헤더에 파일 이름이 없는--no-name로 생성된 Gzip 파일은 건너뜁니다. - 파일에
.gz확장자가 없더라도,.csv,.txt,.tsv,.psv, 또는.jsonl확장자를 가진 파일은 gzip 매직 바이트를 확인하여 투명하게 압축 해제됩니다. - 중첩 압축(예:
.gz파일이 다른.gz안에 있는 경우)은 지원되지 않으며 건너뜁니다. - 검색 패턴 필드는 정규식 구문을 사용하며, 전역 패턴(예를 들어,
*.csv대신.*\.csv$를 사용합니다)이 아닙니다. - 인식된 확장 없이 파일은 건너뛰어지며, 경고가 발행됩니다.
- 커넥터는 Azure API 속도 제한(HTTP 429) 및 일시적인 서버 오류(HTTP 500, 502, 503, 504)에 대해 최대 5회까지 지수 백오프가 적용된 내장 재시도 로직을 포함합니다.
- 파일 인코딩은 UTF-8이어야 합니다.