ShareServiceClient 클래스
계정 수준에서 파일 공유 서비스와 상호 작용할 클라이언트입니다.
이 클라이언트는 계정 속성을 검색 및 구성하고 계정 내에서 공유를 나열, 만들기 및 삭제하는 작업을 제공합니다. 특정 공유와 관련된 작업의 경우 함수를 사용하여 get_share_client 해당 엔터티에 대한 클라이언트를 검색할 수도 있습니다.
추가 선택적 구성을 보려면 여기를 클릭하세요.
- 상속
-
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixinShareServiceClient
생성자
ShareServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, *, token_intent: Literal['backup'] | None = None, **kwargs: Any)
매개 변수
- account_url
- str
파일 공유 스토리지 계정의 URL입니다. URL 경로에 포함된 다른 엔터티(예: 공유 또는 파일)는 삭제됩니다. 이 URL은 선택적으로 SAS 토큰으로 인증할 수 있습니다.
- credential
인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials에서 AzureSasCredential 또는 AzureNamedKeyCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 리소스 URI에 이미 SAS 토큰이 포함된 경우 명시적 자격 증명을 위해 무시됩니다.
- 충돌하는 SAS 토큰이 ValueError를 발생시키는 AzureSasCredential의 경우를 제외하고. AzureNamedKeyCredential의 instance 사용하는 경우 "name"은 스토리지 계정 이름이고 "키"는 스토리지 계정 키여야 합니다.
- token_intent
- Literal['backup']
인증에 TokenCredential을 사용할 때 필요하고 다른 형태의 인증에는 무시됩니다. TokenCredential 인증을 사용할 때 모든 요청에 대한 의도를 지정합니다. 가능한 값은 다음과 같습니다.
backup - 요청이 백업/관리자 유형 작업용으로 지정됩니다. 즉, 모든 파일/디렉터리 ACL이 무시되고 전체 권한이 부여됩니다. 사용자에게 필요한 RBAC 권한도 있어야 합니다.
- allow_trailing_dot
- bool
true이면 후행 점이 대상 URI에서 잘리지 않습니다.
- allow_source_trailing_dot
- bool
true이면 후행 점이 원본 URI에서 잘리지 않습니다.
- api_version
- str
요청에 사용할 Storage API 버전입니다. 기본값은 현재 SDK와 호환되는 최신 서비스 버전입니다. 이전 버전으로 설정하면 기능 호환성이 저하될 수 있습니다.
버전 12.1.0의 새로운 기능.
- secondary_hostname
- str
보조 엔드포인트의 호스트 이름입니다.
- max_range_size
- int
파일 업로드에 사용되는 최대 범위 크기입니다. 기본값은 4*1024*1024
입니다.
예제
URL 및 자격 증명을 사용하여 공유 서비스 클라이언트를 만듭니다.
from azure.storage.fileshare import ShareServiceClient
share_service_client = ShareServiceClient(
account_url=self.account_url,
credential=self.access_key
)
메서드
close |
이 메서드는 클라이언트에서 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 를 사용할 때는 사용할 필요가 없습니다. |
create_share |
지정된 계정 아래에 새 공유를 만듭니다. 동일한 이름의 공유가 이미 있으면 작업이 실패합니다. 새로 만든 공유와 상호 작용할 클라이언트를 반환합니다. |
delete_share |
삭제할 지정된 공유를 표시합니다. 공유는 나중에 가비지 수집 중에 삭제됩니다. |
from_connection_string |
연결 문자열에서 ShareServiceClient를 만듭니다. |
get_service_properties |
Azure 스토리지 분석 포함하여 스토리지 계정의 파일 공유 서비스의 속성을 가져옵니다. |
get_share_client |
지정된 공유와 상호 작용할 클라이언트를 가져옵니다. 공유가 아직 존재하지 않아도 됩니다. |
list_shares |
지정된 계정에서 dict와 유사한 ShareProperties의 자동 페이징 반복 가능을 반환합니다. 생성기는 서비스에서 반환된 연속 토큰을 느리게 따르고 모든 공유가 반환되면 중지됩니다. |
set_service_properties |
Azure 스토리지 분석 포함하여 스토리지 계정의 파일 공유 서비스의 속성을 설정합니다. 요소(예: hour_metrics)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다. |
undelete_share |
일시 삭제된 공유를 복원합니다. 작업은 삭제 보존 정책에 설정된 지정된 일 수 내에 사용되는 경우에만 성공합니다. 버전 12.2.0의 새로운 기능: 이 작업은 API 버전 '2019-12-12'에서 도입되었습니다. |
close
이 메서드는 클라이언트에서 연 소켓을 닫는 것입니다. 컨텍스트 관리자와 함께 를 사용할 때는 사용할 필요가 없습니다.
close()
create_share
지정된 계정 아래에 새 공유를 만듭니다. 동일한 이름의 공유가 이미 있으면 작업이 실패합니다. 새로 만든 공유와 상호 작용할 클라이언트를 반환합니다.
create_share(share_name: str, **kwargs) -> ShareClient
매개 변수
- quota
- int
할당량(바이트)입니다.
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환
새로 만든 공유에 대한 ShareClient입니다.
반환 형식
예제
파일 공유 서비스에서 공유를 만듭니다.
file_service.create_share(share_name="fileshare1")
delete_share
삭제할 지정된 공유를 표시합니다. 공유는 나중에 가비지 수집 중에 삭제됩니다.
delete_share(share_name: ShareProperties | str, delete_snapshots: bool | None = False, **kwargs) -> None
매개 변수
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환 형식
예제
파일 공유 서비스에서 공유를 삭제합니다.
file_service.delete_share(share_name="fileshare1")
from_connection_string
연결 문자열에서 ShareServiceClient를 만듭니다.
from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self
매개 변수
- credential
인증할 자격 증명입니다. 계정 URL에 이미 SAS 토큰이 있는 경우 선택 사항입니다. 값은 SAS 토큰 문자열, azure.core.credentials에서 AzureSasCredential 또는 AzureNamedKeyCredential의 instance, 계정 공유 액세스 키 또는 azure.identity에서 TokenCredentials 클래스의 instance 수 있습니다. 리소스 URI에 이미 SAS 토큰이 포함된 경우 명시적 자격 증명을 위해 무시됩니다.
- 충돌하는 SAS 토큰이 ValueError를 발생시키는 AzureSasCredential의 경우를 제외하고. AzureNamedKeyCredential의 instance 사용하는 경우 "name"은 스토리지 계정 이름이고 "키"는 스토리지 계정 키여야 합니다.
반환
파일 공유 서비스 클라이언트.
반환 형식
예제
연결 문자열을 사용하여 공유 서비스 클라이언트를 만듭니다.
from azure.storage.fileshare import ShareServiceClient
share_service_client = ShareServiceClient.from_connection_string(self.connection_string)
get_service_properties
Azure 스토리지 분석 포함하여 스토리지 계정의 파일 공유 서비스의 속성을 가져옵니다.
get_service_properties(**kwargs: Any) -> Dict[str, Any]
매개 변수
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환
분석 로깅, 시간/분 메트릭, cors 규칙 등과 같은 파일 서비스 속성을 포함하는 사전입니다.
반환 형식
예제
파일 공유 서비스 속성을 가져옵니다.
properties = file_service.get_service_properties()
get_share_client
지정된 공유와 상호 작용할 클라이언트를 가져옵니다. 공유가 아직 존재하지 않아도 됩니다.
get_share_client(share: ShareProperties | str, snapshot: Dict[str, Any] | str | None = None) -> ShareClient
매개 변수
- snapshot
- str
작동할 선택적 공유 스냅샷. 스냅샷 ID 문자열 또는 에서 <xref:azure.storage.fileshare.create_snapshot>반환된 응답일 수 있습니다.
반환
ShareClient입니다.
반환 형식
예제
공유 클라이언트를 가져옵니다.
from azure.storage.fileshare import ShareServiceClient
file_service = ShareServiceClient.from_connection_string(self.connection_string)
# Get a share client to interact with a specific share
share = file_service.get_share_client("fileshare2")
list_shares
지정된 계정에서 dict와 유사한 ShareProperties의 자동 페이징 반복 가능을 반환합니다. 생성기는 서비스에서 반환된 연속 토큰을 느리게 따르고 모든 공유가 반환되면 중지됩니다.
list_shares(name_starts_with: str | None = None, include_metadata: bool | None = False, include_snapshots: bool | None = False, **kwargs) -> ItemPaged[ShareProperties]
매개 변수
- include_deleted
- bool
삭제된 공유가 응답에 반환되도록 지정합니다. 이는 일시 삭제 사용 계정 공유에만 해당됩니다.
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환
ShareProperties의 반복 가능(자동 페이징)입니다.
반환 형식
예제
파일 공유 서비스의 공유를 나열합니다.
# List the shares in the file service
my_shares = list(file_service.list_shares())
# Print the shares
for share in my_shares:
print(share)
set_service_properties
Azure 스토리지 분석 포함하여 스토리지 계정의 파일 공유 서비스의 속성을 설정합니다. 요소(예: hour_metrics)가 None으로 남아 있으면 해당 기능에 대한 서비스의 기존 설정이 유지됩니다.
set_service_properties(hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, protocol: ShareProtocolSettings | None = None, **kwargs) -> None
매개 변수
- cors
- list(CorsRule)
목록에 최대 5개의 CorsRule 요소를 포함할 수 있습니다. 빈 목록을 지정하면 모든 CORS 규칙이 삭제되고 서비스에 대해 CORS가 비활성화됩니다.
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환 형식
예제
파일 공유 서비스 속성을 설정합니다.
# Create service properties
from azure.storage.fileshare import Metrics, CorsRule, RetentionPolicy
# Create metrics for requests statistics
hour_metrics = Metrics(enabled=True, include_apis=True, retention_policy=RetentionPolicy(enabled=True, days=5))
minute_metrics = Metrics(enabled=True, include_apis=True,
retention_policy=RetentionPolicy(enabled=True, days=5))
# Create CORS rules
cors_rule1 = CorsRule(['www.xyz.com'], ['GET'])
allowed_origins = ['www.xyz.com', "www.ab.com", "www.bc.com"]
allowed_methods = ['GET', 'PUT']
max_age_in_seconds = 500
exposed_headers = ["x-ms-meta-data*", "x-ms-meta-source*", "x-ms-meta-abc", "x-ms-meta-bcd"]
allowed_headers = ["x-ms-meta-data*", "x-ms-meta-target*", "x-ms-meta-xyz", "x-ms-meta-foo"]
cors_rule2 = CorsRule(
allowed_origins,
allowed_methods,
max_age_in_seconds=max_age_in_seconds,
exposed_headers=exposed_headers,
allowed_headers=allowed_headers)
cors = [cors_rule1, cors_rule2]
# Set the service properties
file_service.set_service_properties(hour_metrics, minute_metrics, cors)
undelete_share
일시 삭제된 공유를 복원합니다.
작업은 삭제 보존 정책에 설정된 지정된 일 수 내에 사용되는 경우에만 성공합니다.
버전 12.2.0의 새로운 기능: 이 작업은 API 버전 '2019-12-12'에서 도입되었습니다.
undelete_share(deleted_share_name: str, deleted_share_version: str, **kwargs: Any) -> ShareClient
매개 변수
- timeout
- int
작업에 대한 서버 쪽 시간 제한을 초 단위로 설정합니다. 자세한 내용은 https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations 를 참조하세요. 이 값은 클라이언트에서 추적되거나 유효성이 검사되지 않습니다. 클라이언트 쪽 네트워크 시간 제한을 구성하려면 여기를 참조 하세요.
반환
삭제되지 않은 공유에 대한 ShareClient입니다.
반환 형식
특성
api_version
요청에 사용되는 Storage API의 버전입니다.
location_mode
클라이언트가 현재 사용 중인 위치 모드입니다.
기본적으로 "기본"입니다. 옵션에는 "기본" 및 "보조"가 포함됩니다.
primary_endpoint
전체 기본 엔드포인트 URL입니다.
primary_hostname
기본 엔드포인트의 호스트 이름입니다.
secondary_endpoint
구성된 경우 전체 보조 엔드포인트 URL입니다.
사용할 수 없는 경우 ValueError가 발생합니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.
예외
secondary_hostname
보조 엔드포인트의 호스트 이름입니다.
사용할 수 없는 경우 없음이 됩니다. 보조 호스트 이름을 명시적으로 지정하려면 인스턴스화에 선택적 secondary_hostname 키워드(keyword) 인수를 사용합니다.
url
사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다.
이는 기본 엔드포인트이거나 현재 location_mode에 따라 보조 엔드포인트일 수 있습니다. :returns: 사용되는 경우 SAS 토큰을 포함하여 이 엔터티에 대한 전체 엔드포인트 URL입니다. :rtype: str
Azure SDK for Python