ShareServiceClient Classe

Un client per interagire con il servizio condivisione file a livello di account.

Questo client fornisce operazioni per recuperare e configurare le proprietà dell'account, nonché l'elenco, creare ed eliminare condivisioni all'interno dell'account. Per le operazioni relative a una condivisione specifica, è anche possibile recuperare un client per tale entità usando la get_share_client funzione .

Per altre configurazioni facoltative, fare clic qui.

Ereditarietà
azure.storage.fileshare._shared.base_client.StorageAccountHostsMixin
ShareServiceClient

Costruttore

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

Parametri

account_url
str
Necessario

URL dell'account di archiviazione della condivisione file. Tutte le altre entità incluse nel percorso URL (ad esempio, condivisione o file) verranno eliminate. Questo URL può essere autenticato facoltativamente con un token di firma di accesso condiviso.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questa opzione è facoltativa se l'URL dell'account ha già un token di firma di accesso condiviso. Il valore può essere una stringa di token di firma di accesso condiviso, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credentials, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Se l'URI della risorsa contiene già un token di firma di accesso condiviso, verrà ignorato a favore di una credenziale esplicita

  • tranne nel caso di AzureSasCredential, in cui i token di firma di accesso condiviso in conflitto genereranno un ValoreError. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.
token_intent
Literal['backup']

Obbligatorio quando si usa TokenCredential per l'autenticazione e ignorato per altre forme di autenticazione. Specifica la finalità per tutte le richieste quando si usa l'autenticazione TokenCredential . I valori possibili sono:

backup: specifica che le richieste sono destinate alle operazioni di tipo di backup/amministratore, vale a dire che tutti gli ACL di file/directory vengono ignorati e vengono concesse autorizzazioni complete. L'utente deve avere anche l'autorizzazione controllo degli accessi in base al ruolo necessaria.

allow_trailing_dot
bool

Se true, il punto finale non verrà tagliato dall'URI di destinazione.

allow_source_trailing_dot
bool

Se true, il punto finale non verrà tagliato dall'URI di origine.

api_version
str

Versione dell'API di archiviazione da usare per le richieste. Il valore predefinito è la versione del servizio più recente compatibile con l'SDK corrente. L'impostazione su una versione precedente può comportare una riduzione della compatibilità delle funzionalità.

Novità della versione 12.1.0.

secondary_hostname
str

Nome host dell'endpoint secondario.

max_range_size
int

Dimensione massima dell'intervallo utilizzata per un caricamento di file. Il valore predefinito è 4*1024*1024.

Esempio

Creare il client del servizio di condivisione con URL e credenziali.


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

Metodi

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usarlo quando si usa con un gestore di contesto.

create_share

Crea una nuova condivisione nell'account specificato. Se esiste già una condivisione con lo stesso nome, l'operazione non riesce. Restituisce un client con cui interagire con la condivisione appena creata.

delete_share

Contrassegna la condivisione specificata per l'eliminazione. La condivisione viene eliminata in un secondo momento durante l'operazione di Garbage Collection.

from_connection_string

Creare ShareServiceClient da una stringa di connessione.

get_service_properties

Ottiene le proprietà del servizio Condivisione file di un account di archiviazione, incluso Azure Analisi archiviazione.

get_share_client

Ottenere un client per interagire con la condivisione specificata. La condivisione non è già presente.

list_shares

Restituisce l'iterazione di paging automatico di proprietà dict-like nell'account specificato. Il generatore seguirà in modo differimento i token di continuazione restituiti dal servizio e si arresterà quando tutte le condivisioni sono state restituite.

set_service_properties

Imposta le proprietà del servizio Condivisione file di un account di archiviazione, incluso Azure Analisi archiviazione. Se un elemento (ad esempio, hour_metrics) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

undelete_share

Ripristina la condivisione eliminata temporanea.

L'operazione avrà esito positivo solo se viene usato entro il numero di giorni specificato impostato nei criteri di conservazione di eliminazione.

Novità nella versione 12.2.0: questa operazione è stata introdotta nella versione API '2019-12-12'.

close

Questo metodo consiste nel chiudere i socket aperti dal client. Non è necessario usarlo quando si usa con un gestore di contesto.

close()

create_share

Crea una nuova condivisione nell'account specificato. Se esiste già una condivisione con lo stesso nome, l'operazione non riesce. Restituisce un client con cui interagire con la condivisione appena creata.

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

Parametri

share_name
str
Necessario

Nome della condivisione da creare.

metadata
dict(str,str)

Dict con name_value coppie da associare alla condivisione come metadati. Esempio:{'Category':'test'}

quota
int

Quota in byte.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

ShareClient per la condivisione appena creata.

Tipo restituito

Esempio

Creare una condivisione nel servizio di condivisione file.


   file_service.create_share(share_name="fileshare1")

delete_share

Contrassegna la condivisione specificata per l'eliminazione. La condivisione viene eliminata in un secondo momento durante l'operazione di Garbage Collection.

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

Parametri

share_name
str oppure ShareProperties
Necessario

Condivisione da eliminare. Può trattarsi del nome della condivisione o di un'istanza di ShareProperties.

delete_snapshots
bool
Necessario

Indica se gli snapshot devono essere eliminati.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Tipo restituito

Esempio

Eliminare una condivisione nel servizio di condivisione file.


   file_service.delete_share(share_name="fileshare1")

from_connection_string

Creare ShareServiceClient da una stringa di connessione.

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

Parametri

conn_str
str
Necessario

Stringa di connessione a un account di archiviazione di Azure.

credential
valore predefinito: None

Credenziali con cui eseguire l'autenticazione. Questa opzione è facoltativa se l'URL dell'account ha già un token di firma di accesso condiviso. Il valore può essere una stringa di token di firma di accesso condiviso, un'istanza di AzureSasCredential o AzureNamedKeyCredential da azure.core.credentials, una chiave di accesso condiviso dell'account o un'istanza di una classe TokenCredentials da azure.identity. Se l'URI della risorsa contiene già un token di firma di accesso condiviso, verrà ignorato a favore di una credenziale esplicita

  • tranne nel caso di AzureSasCredential, in cui i token di firma di accesso condiviso in conflitto genereranno un ValoreError. Se si usa un'istanza di AzureNamedKeyCredential, "name" deve essere il nome dell'account di archiviazione e "key" deve essere la chiave dell'account di archiviazione.

Restituisce

Un client del servizio condivisione file.

Tipo restituito

Esempio

Creare il client del servizio di condivisione con la stringa di connessione.


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

get_service_properties

Ottiene le proprietà del servizio Condivisione file di un account di archiviazione, incluso Azure Analisi archiviazione.

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

Parametri

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Dizionario contenente le proprietà del servizio file, ad esempio la registrazione di analisi, le metriche di ora/minuto, le regole cors e così via.

Tipo restituito

Esempio

Ottenere le proprietà del servizio di condivisione file.


   properties = file_service.get_service_properties()

get_share_client

Ottenere un client per interagire con la condivisione specificata. La condivisione non è già presente.

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

Parametri

share
str oppure ShareProperties
Necessario

Condivisione. Può trattarsi del nome della condivisione o di un'istanza di ShareProperties.

snapshot
str
valore predefinito: None

Snapshot di condivisione facoltativo in cui operare. Può trattarsi della stringa dell'ID snapshot o della risposta restituita da <xref:azure.storage.fileshare.create_snapshot>.

Restituisce

A ShareClient.

Tipo restituito

Esempio

Ottiene il client di condivisione.


   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

Restituisce l'iterazione di paging automatico di proprietà dict-like nell'account specificato. Il generatore seguirà in modo differimento i token di continuazione restituiti dal servizio e si arresterà quando tutte le condivisioni sono state restituite.

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

Parametri

name_starts_with
str
Necessario

Filtra i risultati per restituire solo condivisioni i cui nomi iniziano con il name_starts_with specificato.

include_metadata
bool
Necessario

Specifica che i metadati di condivisione devono essere restituiti nella risposta.

include_snapshots
bool
Necessario

Specifica che lo snapshot di condivisione deve essere restituito nella risposta.

include_deleted
bool

Specifica che le condivisioni eliminate vengono restituite nella risposta. Questo è solo per l'account abilitato per l'eliminazione temporanea della condivisione.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

Iterabile (paging automatico) di ShareProperties.

Tipo restituito

Esempio

Elencare le condivisioni nel servizio di condivisione file.


   # 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

Imposta le proprietà del servizio Condivisione file di un account di archiviazione, incluso Azure Analisi archiviazione. Se un elemento (ad esempio, hour_metrics) viene lasciato come Nessuno, le impostazioni esistenti nel servizio per tale funzionalità vengono mantenute.

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

Parametri

hour_metrics
Metrics
Necessario

Le impostazioni delle metriche orarie forniscono un riepilogo delle statistiche delle richieste raggruppate per API in aggregazioni orarie per i file.

minute_metrics
Metrics
Necessario

Le impostazioni delle metriche minuti forniscono le statistiche delle richieste per ogni minuto per i file.

cors
list(CorsRule)
Necessario

È possibile includere fino a cinque elementi CorsRule nell'elenco. Se viene specificato un elenco vuoto, tutte le regole CORS verranno eliminate e CORS verrà disabilitato per il servizio.

protocol
ShareProtocolSettings
Necessario

Imposta le impostazioni del protocollo

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Tipo restituito

Esempio

Imposta le proprietà del servizio di condivisione file.


   # 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

Ripristina la condivisione eliminata temporanea.

L'operazione avrà esito positivo solo se viene usato entro il numero di giorni specificato impostato nei criteri di conservazione di eliminazione.

Novità nella versione 12.2.0: questa operazione è stata introdotta nella versione API '2019-12-12'.

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

Parametri

deleted_share_name
str
Necessario

Specifica il nome della condivisione eliminata da ripristinare.

deleted_share_version
str
Necessario

Specifica la versione della condivisione eliminata da ripristinare.

timeout
int

Imposta il timeout lato server per l'operazione in secondi. Per informazioni dettagliate, vedere https://learn.microsoft.com/rest/api/storageservices/setting-timeouts-for-file-service-operations. Questo valore non viene rilevato o convalidato nel client. Per configurare i timeout di rete lato client, vedere qui.

Restituisce

ShareClient per la condivisione non recapitata.

Tipo restituito

Attributi

api_version

Versione dell'API di archiviazione usata per le richieste.

location_mode

Modalità di posizione attualmente usata dal client.

Per impostazione predefinita, il valore sarà "primario". Le opzioni includono "primary" e "secondary".

primary_endpoint

URL completo dell'endpoint primario.

primary_hostname

Nome host dell'endpoint primario.

secondary_endpoint

URL dell'endpoint secondario completo, se configurato.

Se non è disponibile, verrà generato un valore ValueError. Per specificare in modo esplicito un nome host secondario, usare l'argomento facoltativo secondary_hostname parola chiave nella creazione di istanze.

Eccezioni

secondary_hostname

Nome host dell'endpoint secondario.

Se non disponibile, non sarà disponibile. Per specificare in modo esplicito un nome host secondario, usare l'argomento facoltativo secondary_hostname parola chiave nella creazione di istanze.

url

URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso, se usato.

Può trattarsi dell'endpoint primario o dell'endpoint secondario a seconda dell'oggetto corrente location_mode. :returns: URL completo dell'endpoint per questa entità, incluso il token di firma di accesso condiviso, se usato. :rtype: str