FileOperations Klasa

Przestrzeń nazw dla operacji na plikach.

Dostęp jest uzyskiwany za pośrednictwem client.files. Udostępnia operacje przekazywania plików dla kolumn plików Dataverse.

Example:


   client = DataverseClient(base_url, credential)

   client.files.upload(
       "account", account_id, "new_Document", "/path/to/file.pdf"
   )

Konstruktor

FileOperations(client: DataverseClient)

Parametry

Nazwa Opis
client
Wymagane

Wystąpienie nadrzędne DataverseClient .

Metody

upload

Przekaż plik do kolumny pliku Dataverse.

upload

Przekaż plik do kolumny pliku Dataverse.

upload(table: str, record_id: str, file_column: str, path: str, *, mode: str | None = None, mime_type: str | None = None, if_none_match: bool = True) -> None

Parametry

Nazwa Opis
table
Wymagane
str

Nazwa schematu tabeli (np. "account" lub "new_MyTestTable").

record_id
Wymagane
str

Identyfikator GUID rekordu docelowego.

file_column
Wymagane
str

Nazwa schematu atrybutu kolumny pliku (np. "new_Document"). Jeśli kolumna nie istnieje, zostanie utworzona automatycznie.

path
Wymagane
str

Ścieżka lokalnego systemu plików do pliku. Przechowywana nazwa pliku będzie nazwą podstawową tej ścieżki.

mode
Wymagane
str

Strategia przekazywania: "auto" (ustawienie domyślne), "small"lub "chunk". Tryb automatyczny wybiera małe lub fragmentowane przekazywanie na podstawie rozmiaru pliku.

mime_type
Wymagane
str

Jawny typ MIME do przechowywania z plikiem (np. "application/pdf"). Jeśli nie zostanie podana, wartość domyślna to "application/octet-stream".

if_none_match
Wymagane

Jeśli wartość True (wartość domyślna) wysyła If-None-Match: null nagłówek do powodzenia tylko wtedy, gdy kolumna jest obecnie pusta. Ustaw wartość False na zawsze zastąp wartość przy użyciu polecenia If-Match: *.

Parametry Tylko słowo kluczowe

Nazwa Opis
mode
Domyślna wartość: None
mime_type
Domyślna wartość: None
if_none_match
Domyślna wartość: True

Wyjątki

Typ Opis

Jeśli przekazywanie nie powiedzie się lub kolumna pliku nie jest pusta, gdy if_none_match=True

Jeśli określona ścieżka pliku nie istnieje.

Przykłady

Przekaż plik PDF:


   client.files.upload(
       "account",
       account_id,
       "new_Contract",
       "/path/to/contract.pdf",
       mime_type="application/pdf",
   )

Przekaż z automatycznym wyborem trybu:


   client.files.upload(
       "email",
       email_id,
       "new_Attachment",
       "/path/to/large_file.zip",
   )