다음을 통해 공유


ShareServiceClient 클래스

계정 수준에서 파일 공유 서비스와 상호 작용할 클라이언트입니다.

이 클라이언트는 계정 속성을 검색 및 구성하고 계정 내에서 공유를 나열, 만들기 및 삭제하는 작업을 제공합니다. 특정 공유와 관련된 작업의 경우 함수를 사용하여 get_share_client 해당 엔터티에 대한 클라이언트를 검색할 수도 있습니다.

추가 선택적 구성을 보려면 여기를 클릭하세요.

상속
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixin
ShareServiceClient

생성자

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
기본값: None

인증할 자격 증명입니다. 계정 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

매개 변수

share_name
str
필수

만들 공유의 이름입니다.

metadata
dict(str,str)

공유와 메타데이터로 연결할 name_value 쌍이 있는 받아쓰기입니다. 예:{'Category':'test'}

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

매개 변수

share_name
str 또는 ShareProperties
필수

삭제할 공유입니다. 공유 이름 또는 ShareProperties의 instance 수 있습니다.

delete_snapshots
bool
필수

스냅샷을 삭제할지를 나타냅니다.

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

매개 변수

conn_str
str
필수

Azure Storage 계정에 대한 연결 문자열입니다.

credential
기본값: None

인증할 자격 증명입니다. 계정 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

매개 변수

share
str 또는 ShareProperties
필수

공유입니다. 공유 이름 또는 ShareProperties의 instance 수 있습니다.

snapshot
str
기본값: None

작동할 선택적 공유 스냅샷. 스냅샷 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]

매개 변수

name_starts_with
str
필수

결과를 필터링하여 이름이 지정된 name_starts_with 시작하는 공유만 반환합니다.

include_metadata
bool
필수

응답에서 공유 메타데이터가 반환되도록 지정합니다.

include_snapshots
bool
필수

응답에서 공유 스냅샷 반환되도록 지정합니다.

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

매개 변수

hour_metrics
Metrics
필수

시간 메트릭 설정은 API별로 그룹화된 요청 통계의 요약을 파일에 대한 시간별 집계로 제공합니다.

minute_metrics
Metrics
필수

분 메트릭 설정은 파일에 대한 각 분에 대한 요청 통계를 제공합니다.

cors
list(CorsRule)
필수

목록에 최대 5개의 CorsRule 요소를 포함할 수 있습니다. 빈 목록을 지정하면 모든 CORS 규칙이 삭제되고 서비스에 대해 CORS가 비활성화됩니다.

protocol
ShareProtocolSettings
필수

프로토콜 설정 설정

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

매개 변수

deleted_share_name
str
필수

복원할 삭제된 공유의 이름을 지정합니다.

deleted_share_version
str
필수

복원할 삭제된 공유의 버전을 지정합니다.

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