Condividi tramite


Risolvere i problemi dell'estensione Archiviazione di Azure in Database di Azure per PostgreSQL

Di seguito è riportato l'elenco degli errori che possono essere restituiti dall'estensione archiviazione di Azure. Spiega inoltre i motivi per cui o le circostanze in cui possono essere sollevate.

ERRORE: azure_storage: l'autorizzazione non è sufficiente per eseguire l'operazione richiesta

Quando si esegue una delle funzioni che interagiscono con Archiviazione di Azure (azure_storage.blob_listazure_storage.blob_geto azure_storage.blob_put) e l'identità gestita assegnata dal sistema non vengono concesse le autorizzazioni o i ruoli del piano dati adeguati (in genere un minimo di Collaboratore ai dati del BLOB di archiviazione per azure_storage.blob_put e almeno lettore di dati BLOB di archiviazione per le altre due funzioni).

Potrebbe trattarsi del caso in cui siano già state concesse le autorizzazioni minime necessarie, ma non sono ancora effettive. La propagazione di tali autorizzazioni può richiedere alcuni minuti.

ERRORE: azure_storage: credenziali di archiviazione mancanti

Quando si esegue una delle funzioni che interagiscono con Archiviazione di Azure (azure_storage.blob_listo azure_storage.blob_getazure_storage.blob_put) e le credenziali con cui si vuole che l'estensione esegua l'autenticazione con l'account di archiviazione non siano registrate usando azure_storage.account_add.

ERRORE: azure_storage: errore interno durante la connessione

Quando l'istanza del server flessibile non riesce a raggiungere l'account di archiviazione di destinazione. Questa situazione può verificarsi nei casi seguenti:

  • L'account di archiviazione non esiste.
  • La configurazione di rete non consente al traffico originato dall'istanza del server flessibile di raggiungere l'account di archiviazione. Ad esempio, quando l'istanza del server flessibile viene distribuita con la rete di accesso pubblico e l'account di archiviazione è accessibile solo tramite endpoint privati.

ERRORE: azure_storage: l'user_or_role utente corrente non è autorizzato a usare l'account <><di archiviazione account_name>

Quando si esegue una delle funzioni che interagiscono con Archiviazione di Azure (azure_storage.blob_listazure_storage.blob_geto azure_storage.blob_put) con un utente o un ruolo di cui non è membro azure_storage_admin e non viene concessa l'autorizzazione, usando azure_storage.account_user_add, per usare l'account di archiviazione di riferimento.

ERRORE: azure_storage: La query non è supportata durante la copia dei dati nell'archivio BLOB

Quando si esegue un'istruzione COPY TO per la quale l'origine è una query. L'estensione Archiviazione di Azure non supporta questa sintassi. Supporta solo la sintassi in cui l'origine dell'oggetto COPY TO è una relazione. Come soluzione alternativa, è possibile implementare una vista con la query come definizione e riscrivere l'istruzione COPY TO per l'origine nella vista.

ERRORE: azure_storage: impossibile dedurre la codifica dei file dall'estensione: '<extension>', usare un'estensione supportata [csv, csv.gz, tsv, tsv.gz, json, json.gz, xml, xml.gz, txt, txt.gz, parquet], oppure specificare l'argomento decodificatore se si usa blob_get o il formato se si usa COPY FROM/TO

Quando <l'estensione> non corrisponde a una delle estensioni da cui l'estensione archiviazione di Azure supporta l'inferenza del codificatore e dell'algoritmo di compressione (per blob_put e COPY TO) o decodificatore e algoritmo di decompressione (per blob_get e COPY FROM) da usare. Specificare uno dei valori supportati per l'inferenza automatica oppure non usare auto ma forzare un tipo specifico di codificatore + compressione o decodificatore + decompressione.

ERRORE: azure_storage: può usare solo il codificatore di testo con una singola colonna

Quando le tuple passate a blob_put sono costituite da più colonne e il codificatore viene dedotto come texto impostato manualmente su text.

ERRORE: azure_storage: può usare solo il decodificatore di testo con una singola colonna

Quando le tuple lette dal BLOB sono costituite da blob_get più di una colonna e il codificatore viene dedotto come texto è impostato manualmente su text.

ERRORE: azure_storage: contenitore con il nome specificato non esiste

Il nome del contenitore passato tramite il container_name parametro della blob_get funzione non esiste nell'account di archiviazione di riferimento.

ERRORE: azure_storage: BLOB con il nome specificato non esiste

Il nome del BLOB passato tramite il path parametro della blob_get funzione non esiste nel contenitore di riferimento nell'account di archiviazione.