Compartilhar via


ShareServiceClient Classe

Um cliente para interagir com o Serviço de Compartilhamento de Arquivos no nível da conta.

Esse cliente fornece operações para recuperar e configurar as propriedades da conta, bem como listar, criar e excluir compartilhamentos dentro da conta. Para operações relacionadas a um compartilhamento específico, um cliente para essa entidade também pode ser recuperado usando a get_share_client função .

Para obter mais configurações opcionais, clique aqui.

Herança
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixin
ShareServiceClient

Construtor

ShareServiceClient(account_url: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, *, token_intent: Literal['backup'] | None = None, **kwargs: Any)

Parâmetros

account_url
str
Obrigatório

A URL para a conta de armazenamento de compartilhamento de arquivos. Todas as outras entidades incluídas no caminho da URL (por exemplo, compartilhamento ou arquivo) serão descartadas. Essa URL pode ser autenticada opcionalmente com um token SAS.

credential
valor padrão: None

As credenciais com as quais autenticar. Isso será opcional se a URL da conta já tiver um token SAS. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials de azure.identity. Se o URI do recurso já contiver um token SAS, isso será ignorado em favor de uma credencial explícita

  • exceto no caso de AzureSasCredential, em que os tokens SAS conflitantes gerarão um ValueError. Se estiver usando uma instância de AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.
token_intent
Literal['backup']

Necessário ao usar TokenCredential para autenticação e ignorado para outras formas de autenticação. Especifica a intenção para todas as solicitações ao usar a autenticação TokenCredential . Os valores possíveis são:

backup – especifica que as solicitações são destinadas a operações de tipo de backup/administrador, o que significa que todas as ACLs de arquivo/diretório são ignoradas e permissões completas são concedidas. O usuário também deve ter a permissão RBAC necessária.

allow_trailing_dot
bool

Se for true, o ponto à direita não será cortado do URI de destino.

allow_source_trailing_dot
bool

Se for true, o ponto à direita não será cortado do URI de origem.

api_version
str

A versão da API de Armazenamento a ser usada para solicitações. O valor padrão é a versão de serviço mais recente compatível com o SDK atual. A configuração para uma versão mais antiga pode resultar em redução da compatibilidade de recursos.

Novo na versão 12.1.0.

secondary_hostname
str

O nome do host do ponto de extremidade secundário.

max_range_size
int

O tamanho máximo do intervalo usado para um upload de arquivo. O padrão é 4*1024*1024.

Exemplos

Crie o cliente de serviço de compartilhamento com a URL e a credencial.


   from azure.storage.fileshare import ShareServiceClient
   share_service_client = ShareServiceClient(
       account_url=self.account_url,
       credential=self.access_key
   )

Métodos

close

Esse método é para fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto.

create_share

Cria um novo compartilhamento na conta especificada. Se o compartilhamento com o mesmo nome já existir, a operação falhará. Retorna um cliente com o qual interagir com o compartilhamento recém-criado.

delete_share

Marca o compartilhamento especificado para exclusão. O compartilhamento é excluído posteriormente durante a coleta de lixo.

from_connection_string

Crie ShareServiceClient a partir de uma cadeia de conexão.

get_service_properties

Obtém as propriedades do serviço de Compartilhamento de Arquivos de uma conta de armazenamento, incluindo a Análise de Armazenamento do Azure.

get_share_client

Faça com que um cliente interaja com o compartilhamento especificado. O compartilhamento ainda não precisa existir.

list_shares

Retorna iterável de paginação automática de ShareProperties semelhantes a ditados na conta especificada. O gerador seguirá lentamente os tokens de continuação retornados pelo serviço e será interrompido quando todos os compartilhamentos forem retornados.

set_service_properties

Define as propriedades do serviço de Compartilhamento de Arquivos de uma conta de armazenamento, incluindo a Análise de Armazenamento do Azure. Se um elemento (por exemplo, hour_metrics) for deixado como Nenhum, as configurações existentes no serviço para essa funcionalidade serão preservadas.

undelete_share

Restaura o compartilhamento excluído temporariamente.

A operação só será bem-sucedida se for usada dentro do número especificado de dias definido na política de retenção de exclusão.

Novidade na versão 12.2.0: essa operação foi introduzida na versão da API '2019-12-12'.

close

Esse método é para fechar os soquetes abertos pelo cliente. Ele não precisa ser usado ao usar com um gerenciador de contexto.

close()

create_share

Cria um novo compartilhamento na conta especificada. Se o compartilhamento com o mesmo nome já existir, a operação falhará. Retorna um cliente com o qual interagir com o compartilhamento recém-criado.

create_share(share_name: str, **kwargs) -> ShareClient

Parâmetros

share_name
str
Obrigatório

O nome do compartilhamento a ser criado.

metadata
dict(str,str)

Um dict com name_value pares a serem associados ao compartilhamento como metadados. Exemplo:{'Category':'test'}

quota
int

Cota em bytes.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um ShareClient para o Compartilhamento recém-criado.

Tipo de retorno

Exemplos

Crie um compartilhamento no serviço de compartilhamento de arquivos.


   file_service.create_share(share_name="fileshare1")

delete_share

Marca o compartilhamento especificado para exclusão. O compartilhamento é excluído posteriormente durante a coleta de lixo.

delete_share(share_name: ShareProperties | str, delete_snapshots: bool | None = False, **kwargs) -> None

Parâmetros

share_name
str ou ShareProperties
Obrigatório

O compartilhamento a ser excluído. Pode ser o nome do compartilhamento ou uma instância de ShareProperties.

delete_snapshots
bool
Obrigatório

Indica se os instantâneos devem ser excluídos.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Tipo de retorno

Exemplos

Exclua um compartilhamento no serviço de compartilhamento de arquivos.


   file_service.delete_share(share_name="fileshare1")

from_connection_string

Crie ShareServiceClient a partir de uma cadeia de conexão.

from_connection_string(conn_str: str, credential: str | Dict[str, str] | AzureNamedKeyCredential | AzureSasCredential | TokenCredential | None = None, **kwargs: Any) -> Self

Parâmetros

conn_str
str
Obrigatório

Uma cadeia de conexão para uma conta de Armazenamento do Azure.

credential
valor padrão: None

As credenciais com as quais autenticar. Isso será opcional se a URL da conta já tiver um token SAS. O valor pode ser uma cadeia de caracteres de token SAS, uma instância de um AzureSasCredential ou AzureNamedKeyCredential de azure.core.credentials, uma chave de acesso compartilhado de conta ou uma instância de uma classe TokenCredentials de azure.identity. Se o URI do recurso já contiver um token SAS, isso será ignorado em favor de uma credencial explícita

  • exceto no caso de AzureSasCredential, em que os tokens SAS conflitantes gerarão um ValueError. Se estiver usando uma instância de AzureNamedKeyCredential, "name" deverá ser o nome da conta de armazenamento e "key" deverá ser a chave da conta de armazenamento.

Retornos

Um cliente de serviço de Compartilhamento de Arquivos.

Tipo de retorno

Exemplos

Crie o cliente de serviço de compartilhamento com a cadeia de conexão.


   from azure.storage.fileshare import ShareServiceClient
   share_service_client = ShareServiceClient.from_connection_string(self.connection_string)

get_service_properties

Obtém as propriedades do serviço de Compartilhamento de Arquivos de uma conta de armazenamento, incluindo a Análise de Armazenamento do Azure.

get_service_properties(**kwargs: Any) -> Dict[str, Any]

Parâmetros

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, consulte aqui.

Retornos

Um dicionário que contém propriedades do serviço de arquivo, como log de análise, métricas de hora/minuto, regras de cors etc.

Tipo de retorno

Exemplos

Obter propriedades do serviço de compartilhamento de arquivos.


   properties = file_service.get_service_properties()

get_share_client

Faça com que um cliente interaja com o compartilhamento especificado. O compartilhamento ainda não precisa existir.

get_share_client(share: ShareProperties | str, snapshot: Dict[str, Any] | str | None = None) -> ShareClient

Parâmetros

share
str ou ShareProperties
Obrigatório

O compartilhamento. Pode ser o nome do compartilhamento ou uma instância de ShareProperties.

snapshot
str
valor padrão: None

Um compartilhamento opcional instantâneo no qual operar. Pode ser a cadeia de caracteres de ID instantâneo ou a resposta retornada de <xref:azure.storage.fileshare.create_snapshot>.

Retornos

Um ShareClient.

Tipo de retorno

Exemplos

Obtém o cliente de compartilhamento.


   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

Retorna iterável de paginação automática de ShareProperties semelhantes a ditados na conta especificada. O gerador seguirá lentamente os tokens de continuação retornados pelo serviço e será interrompido quando todos os compartilhamentos forem retornados.

list_shares(name_starts_with: str | None = None, include_metadata: bool | None = False, include_snapshots: bool | None = False, **kwargs) -> ItemPaged[ShareProperties]

Parâmetros

name_starts_with
str
Obrigatório

Filtra os resultados para retornar apenas compartilhamentos cujos nomes começam com o name_starts_with especificado.

include_metadata
bool
Obrigatório

Especifica que os metadados de compartilhamento sejam retornados na resposta.

include_snapshots
bool
Obrigatório

Especifica que o compartilhamento instantâneo ser retornado na resposta.

include_deleted
bool

Especifica que os compartilhamentos excluídos sejam retornados na resposta. Isso é apenas para a conta habilitada para exclusão temporária de compartilhamento.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Retornos

Um iterável (paginação automática) do ShareProperties.

Tipo de retorno

Exemplos

Listar compartilhamentos no serviço de compartilhamento de arquivos.


   # 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

Define as propriedades do serviço de Compartilhamento de Arquivos de uma conta de armazenamento, incluindo a Análise de Armazenamento do Azure. Se um elemento (por exemplo, hour_metrics) for deixado como Nenhum, as configurações existentes no serviço para essa funcionalidade serão preservadas.

set_service_properties(hour_metrics: Metrics | None = None, minute_metrics: Metrics | None = None, cors: List[CorsRule] | None = None, protocol: ShareProtocolSettings | None = None, **kwargs) -> None

Parâmetros

hour_metrics
Metrics
Obrigatório

As configurações de métricas de hora fornecem um resumo das estatísticas de solicitação agrupadas pela API em agregações por hora para arquivos.

minute_metrics
Metrics
Obrigatório

As configurações de métricas de minuto fornecem estatísticas de solicitação para cada minuto para arquivos.

cors
list(CorsRule)
Obrigatório

Você pode incluir até cinco elementos CorsRule na lista. Se uma lista vazia for especificada, todas as regras CORS serão excluídas e o CORS será desabilitado para o serviço.

protocol
ShareProtocolSettings
Obrigatório

Define as configurações de protocolo

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Tipo de retorno

Exemplos

Define as propriedades do serviço de compartilhamento de arquivos.


   # 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

Restaura o compartilhamento excluído temporariamente.

A operação só será bem-sucedida se for usada dentro do número especificado de dias definido na política de retenção de exclusão.

Novidade na versão 12.2.0: essa operação foi introduzida na versão da API '2019-12-12'.

undelete_share(deleted_share_name: str, deleted_share_version: str, **kwargs: Any) -> ShareClient

Parâmetros

deleted_share_name
str
Obrigatório

Especifica o nome do compartilhamento excluído a ser restaurado.

deleted_share_version
str
Obrigatório

Especifica a versão do compartilhamento excluído a ser restaurado.

timeout
int

Define o tempo limite do lado do servidor para a operação em segundos. Para obter mais informações, confira https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Esse valor não é rastreado ou validado no cliente. Para configurar tempos limite de rede do lado do cliente, confira aqui.

Retornos

Um ShareClient para o compartilhamento não selecionado.

Tipo de retorno

Atributos

api_version

A versão da API de Armazenamento usada para solicitações.

location_mode

O modo de localização que o cliente está usando no momento.

Por padrão, isso será "primário". As opções incluem "primário" e "secundário".

primary_endpoint

A URL completa do ponto de extremidade primário.

primary_hostname

O nome do host do ponto de extremidade primário.

secondary_endpoint

A URL completa do ponto de extremidade secundário, se configurada.

Se não estiver disponível, um ValueError será gerado. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.

Exceções

secondary_hostname

O nome do host do ponto de extremidade secundário.

Se não estiver disponível, será Nenhum. Para especificar explicitamente um nome de host secundário, use o argumento opcional secondary_hostname palavra-chave na instanciação.

url

A URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado.

Isso pode ser o ponto de extremidade primário ou o ponto de extremidade secundário, dependendo do atual location_mode. :returns: a URL completa do ponto de extremidade para essa entidade, incluindo o token SAS, se usado. :rtype: str