Azure Storage 확장을 사용하려면 다음 단계를 수행해야 합니다.
Azure Storage 계정 식별
확장의 사용자가 상호 작용하고 데이터를 가져오거나 내보낼 Azure Storage 계정을 식별합니다.
권한 부여 유형 선택
각 Azure Storage 계정의 Blob 서비스에 대한 요청에 사용할 권한 부여 유형을 결정합니다.
azure_storage 확장은 공유 키를 사용한 권한 부여 및 Microsoft Entra ID를 사용한 권한 부여를 지원합니다.
이러한 두 가지 유형의 권한 부여 중 Microsoft Entra ID는 공유 키보다 뛰어난 보안 및 사용 편의성을 제공하며 Microsoft에서 권장하는 것입니다.
각 경우에 필요한 필수 구성 요소를 충족하려면 해당 섹션의 지침을 따릅니다.
Microsoft Entra ID로 권한 부여를 사용하려면
- Azure Database for PostgreSQL 유연한 서버 인스턴스에서 시스템 할당 관리 ID 를 사용하도록 설정합니다.
- 시스템에서 할당된 관리 ID를 사용하도록 설정한 후 Azure Database for PostgreSQL 유연한 서버의 인스턴스를 다시 시작합니다.
- Azure Storage 계정의 Blob 데이터에 액세스할 수 있는 RBAC(역할 기반 액세스 제어) 권한을 Azure Database for PostgreSQL 유연한 서버 인스턴스의 시스템 할당 관리 ID에 할당합니다.
시스템 할당 관리 ID 사용
공유 키로 권한 부여를 사용하려면
스토리지 계정에서 해당 키에 대한 액세스를 허용하는지 확인
Azure Storage 계정에 스토리지 계정 키 액세스 허용 을 사용하도록 설정해야 합니다(즉, AllowSharedKeyAccess 속성을 false로 설정할 수 없습니다).
스토리지 계정의 두 액세스 키 중 하나를 가져옵니다.
azure_storage.account_add 함수에 전달하려면 Azure Storage 계정의 두 액세스 키 중 하나를 가져옵니다.
확장 라이브러리 로드
시작 시 이진 모듈을 azure_storage 로드할 수 있도록 서버를 구성합니다.
확장 허용 목록
사용자가 CREATE EXTENSION, DROP EXTENSION, ALTER EXTENSION, COMMENT ON EXTENSION을 실행할 수 있도록 확장을 허용 목록에 추가해야 합니다.
확장 만들기
Visual Studio Code용 PostgreSQL(미리 보기), psql 또는 PgAdmin과 같은 기본 설정의 클라이언트를 사용하여 Azure Storage 확장을 사용하려는 데이터베이스에 연결합니다.
확장을 사용하여 azure_storage Azure Storage 계정의 인스턴스와 상호 작용할 수 있는 모든 SQL 개체(테이블, 형식, 함수, 뷰 등)를 만들려면 다음 문을 실행합니다.
CREATE EXTENSION azure_storage;
확장을 사용하여 데이터 가져오기 및 내보내기
이제 함수를 사용하여 azure_storage.account_add 상호 작용할 스토리지 계정을 추가할 준비가 되었습니다. 그런 다음 함수 또는 문을 사용하여 Azure Storage 계정의 파일에 저장된 데이터를 가져오거나 함수 또는 azure_storage.blob_getCOPY FROM 문을 사용하여 azure_storage.blob_put PostgreSQL에서 Azure Storage 계정의 COPY TO 파일로 데이터를 내보낼 수 있습니다.
빠른 시작 예제 목록을 확인하세요.
- Azure Storage 계정을 만들고 데이터로 채웁니다.
- 데이터가 로드되는 테이블 만들기
- 스토리지 계정의 액세스 키 추가
- Azure Blob Storage 참조에서 사용자 또는 역할에 대한 액세스 권한 부여
- 컨테이너의 모든 Blob 나열
- 특정 이름 접두사를 사용하여 Blob 나열
- COPY FROM 문을 사용하여 데이터 가져오기
- COPY TO 문을 사용하여 데이터 내보내기
- Blob에서 콘텐츠 읽기
- Blob에서 읽은 콘텐츠 읽기, 필터링 및 수정
- 사용자 지정 옵션(헤더, 열 구분 기호, 이스케이프 문자)을 사용하여 파일에서 콘텐츠를 읽습니다.
- 디코더 옵션 사용
- Blob의 콘텐츠에 대한 집계 계산
- Blob에 콘텐츠 쓰기
- Azure Storage 계정에 대한 모든 참조 나열
- Azure Blob Storage 참조의 사용자 또는 역할에서 액세스 취소
- 스토리지 계정에 대한 참조 제거
확장에서 제공하는 모든 함수와 각 함수에 대한 모든 세부 정보를 검토해야 하는 경우 전체 참조를 검토합니다.
- azure_storage.account_add
- azure_storage.account_options_managed_identity
- azure_storage.account_options_credentials
- azure_storage.account_options
- azure_storage.account_remove
- azure_storage.account_user_add
- azure_storage.account_user_remove
- azure_storage.account_list
- azure_storage.blob_list
- azure_storage.blob_get
- azure_storage.blob_put
- azure_storage.options_csv_get
- azure_storage.options_copy
- azure_storage.options_tsv
- azure_storage.options_binary
또한 몇 가지 문제 해결을 수행해야 하는 경우 확장에서 생성할 수 있는 오류 목록 과 발생할 수 있는 컨텍스트를 검토합니다.
중요합니다
Azure Storage 계정 액세스 키를 제공해야 하는 인증 유형의 경우 Azure Storage 액세스 키가 스토리지 계정의 루트 암호와 유사합니다. 항상 그들을 보호하기 위해주의하십시오. Azure Key Vault를 사용하여 키를 안전하게 관리하고 회전합니다.
azure_storage 확장은 역할의 멤버가 읽을 수 있는 테이블에 azure_storage.accounts해당 키를 저장합니다 pg_read_all_data .
