Klientská knihovna pro sdílení Azure Purview pro Python – verze 1.0.0b3
Microsoft Purview Share je plně spravovaná cloudová služba.
Při používání této knihovny se do značné míry spolehněte na dokumentaci ke službě a na dokumentaci k našim klientům protokolů .
Zdrojový kód | Balíček (PyPI) | Dokumentace k produktu
Začínáme
Instalace balíčku
Nainstalujte klientskou knihovnu sdílení Azure Purview pro Python pomocí nástroje pip:
pip install azure-purview-sharing
Požadavky
- Abyste mohli tento balíček používat, musíte mít předplatné Azure a prostředek Purview .
- K použití tohoto balíčku se vyžaduje Python 3.6 nebo novější.
Ověření klienta
Použití Azure Active Directory
Tento dokument ukazuje použití DefaultAzureCredential k ověřování prostřednictvím Azure Active Directory. Všechny přihlašovací údaje nabízené balíčkem azure-identity se ale přijmou. Další informace o dalších přihlašovacích údaji najdete v dokumentaci k azure-identity .
Jakmile zvolíte a nakonfigurujete přihlašovací údaje, můžete vytvořit instance objektu PurviewSharingClient
.
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint="https://<my-account-name>.purview.azure.com", credential=credential)
Klíčové koncepty
Zprostředkovatel dat: Poskytovatel dat je osoba, která vytvoří sdílenou složku výběrem zdroje dat, výběrem souborů a složek, které chcete sdílet a s kým je chcete sdílet. Microsoft Purview pak pošle pozvánku každému příjemci dat.
Příjemce dat: Příjemce dat je osoba, která přijme pozvánku zadáním cílového účtu úložiště ve svém vlastním předplatném Azure, který použije pro přístup ke sdíleným datům.
Příklady
Obsah:
Příklady zprostředkovatelů dat
Následující příklady kódu ukazují, jak můžou poskytovatelé dat pomocí sady Microsoft Azure Python SDK pro Purview Sharing spravovat své aktivity sdílení.
Vytvoření odeslaného klienta sdílené složky
import os, uuid, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
Vytvořit sdílenou složku
Aby bylo možné začít sdílet data, musí poskytovatel dat nejprve vytvořit odeslanou sdílenou složku, která identifikuje data, která chce sdílet.
import os, uuid, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
sent_share_id = uuid.uuid4()
artifact = {
"properties": {
"paths": [
{
"containerName": "container-name",
"receiverPath": "shared-file-name.txt",
"senderPath": "original/file-name.txt"
}
]
},
"storeKind": "AdlsGen2Account",
"storeReference": {
"referenceName": "/subscriptions/{subscription-id}/resourceGroups/provider-storage-rg/providers/Microsoft.Storage/storageAccounts/providerstorage",
"type": "ArmResourceReference"
}
}
sent_share = {
"properties": {
"artifact": artifact,
"displayName": "sampleShare",
"description": "A sample share"
},
"shareKind": "InPlace"
}
request = client.sent_shares.begin_create_or_replace(
str(sent_share_id),
sent_share=sent_share)
response = request.result()
print(response)
Odeslání pozvánky ke sdílení uživateli
Po vytvoření odeslané sdílené složky může poskytovatel dat rozšířit pozvánky na uživatele, kteří pak mohou sdílená data zobrazit. V tomto příkladu se pozvánka rozšíří na jednotlivce zadáním jeho e-mailové adresy.
import os, uuid
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
from datetime import date
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
sent_share_id = uuid.uuid4()
sent_share_invitation_id = uuid.uuid4()
consumerEmail = "consumer@contoso.com"
today = date.today()
invitation = {
"invitationKind": "User",
"properties": {
"targetEmail": consumerEmail,
"notify": "true",
"expirationDate": date(today.year+1,today.month,today.day).strftime("%Y-%m-%d") + " 00:00:00"
}
}
invitation_request = client.sent_shares.create_invitation(
sent_share_id=str(sent_share_id),
sent_share_invitation_id=str(sent_share_invitation_id),
sent_share_invitation=invitation)
invitation_response = invitation_request.result()
created_invitation = json.loads(invitation_response)
print(created_invitation)
Odeslání pozvánky ke sdílení do služby
Poskytovatelé dat můžou také rozšířit pozvánky na služby nebo aplikace zadáním ID tenanta a ID objektu služby. ID objektu použitého k odeslání pozvánky ke službě musí být ID objektu přidruženého k podnikové aplikaci (ne k registraci aplikace).
import os, uuid
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
targetActiveDirectoryId = uuid.uuid4()
targetObjectId = uuid.uuid4()
sent_share_invitation = {
"invitationKind": "Service",
"properties": {
"targetActiveDirectoryId": str(targetActiveDirectoryId),
"targetObjectId": str(targetObjectId)
}
}
invitation_response = client.sent_shares.create_invitation(
sent_share_id=str(sent_share_id),
sent_share_invitation_id=str(sent_share_invitation_id),
sent_share_invitation=sent_share_invitation)
print(invitation_response)
Získat odeslanou sdílenou složku
Po vytvoření odeslané sdílené složky ji můžou poskytovatelé dat načíst.
import os, uuid
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
sent_share_id = uuid.uuid4()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
retrieved_sent_share = client.sent_shares.get(sent_share_id=str(sent_share_id))
print(retrieved_sent_share)
Zobrazit seznam odeslaných sdílených složek
Poskytovatelé dat můžou také načíst seznam odeslaných sdílených složek, které vytvořili.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
provider_storage_account_resource_id = "/subscriptions/{subscription-id}/resourceGroups/provider-storage-rg/providers/Microsoft.Storage/storageAccounts/providerstorage"
list_request = client.sent_shares.list(
reference_name=provider_storage_account_resource_id,
orderby="properties/createdAt desc")
for list_response in list_request:
print(list_response)
Odstranit odeslanou sdílenou složku
Odeslanou sdílenou složku může poskytovatel dat odstranit a ukončit tak sdílení dat se všemi příjemci dat.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
sent_share_id = uuid.uuid4()
delete_request = client.sent_shares.begin_delete(sent_share_id=str(sent_share_id))
delete_response = delete_request.result()
print(delete_response)
Získat odeslanou pozvánku ke sdílené složce
Po vytvoření odeslané pozvánky ke sdílené složce ji můžou poskytovatelé dat načíst.
import os, uuid, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
sent_share_id = uuid.uuid4()
sent_share_invitation_id = uuid.uuid4()
get_invitation_response = client.sent_shares.get_invitation(
sent_share_id=str(sent_share_id),
sent_share_invitation_id=str(sent_share_invitation_id))
retrieved_share_invitation = json.loads(get_invitation_response)
print(retrieved_share_invitation)
Vypsat odeslané sdílené pozvánky
Poskytovatelé dat můžou také načíst seznam odeslaných pozvánek ke sdílené složce, které vytvořili.
import os, uuid, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint, credential=credential)
sent_share_id = uuid.uuid4()
list_request = client.sent_shares.list_invitations(sent_share_id=str(sent_share_id))
for list_response in list_request:
print(list_response)
Odstranit odeslanou pozvánku ke sdílené složce
Poskytovatel dat může odstranit jednotlivou odeslanou pozvánku ke sdílené složce a ukončit tak sdílení svých dat s konkrétním příjemcem dat, kterému byla pozvánka adresována.
import os, uuid, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
sent_share_id = uuid.uuid4()
sent_share_invitation_id = uuid.uuid4()
delete_invitation_request = client.sent_shares.begin_delete_invitation(
sent_share_id=str(sent_share_id),
sent_share_invitation_id=str(sent_share_invitation_id))
delete_invitation_response = delete_invitation_request.result()
print(delete_invitation_response)
Příklady příjemců dat
Následující příklady kódu ukazují, jak můžou uživatelé dat spravovat své aktivity sdílení pomocí sady Microsoft Azure Python SDK pro Purview Sharing.
Vytvoření přijatého klienta sdílené složky
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
Výpis odpojených přijatých sdílených složek
Pokud chcete začít zobrazovat data, která s ním někdo sdílí, musí nejdřív načíst seznam odpojených přijatých sdílených složek. V tomto seznamu můžou identifikovat odpojenou přijatou sdílenou složku k připojení. "Odpojená" přijatá sdílená složka odkazuje na přijatou sdílenou složku, která nikdy nebyla připojena nebo byla odpojena.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
list_detached_response = client.received_shares.list_detached(orderby="properties/createdAt desc")
print(list_detached_response)
Připojení přijaté sdílené složky
Jakmile příjemce dat zjistí přijatou sdílenou složku, může přijatou sdílenou složku připojit k umístění, kde má ke sdíleným datům přístup. Pokud už je přijatá sdílená složka připojená, budou sdílená data přístupná v novém zadaném umístění.
import os, json
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
consumer_storage_account_resource_id = "/subscriptions/{subscription-id}/resourceGroups/consumer-storage-rg/providers/Microsoft.Storage/storageAccounts/consumerstorage"
list_detached_response = client.received_shares.list_detached(orderby="properties/createdAt desc")
received_share = next(x for x in list_detached_response)
store_reference = {
"referenceName": consumer_storage_account_resource_id,
"type": "ArmResourceReference"
}
sink = {
"properties": {
"containerName": "container-test",
"folder": "folder-test",
"mountPath": "mountPath-test",
},
"storeKind": "AdlsGen2Account",
"storeReference": store_reference
}
received_share['properties']['sink'] = sink
update_request = client.received_shares.begin_create_or_replace(
received_share['id'],
content_type="application/json",
content=json.dumps(received_share))
update_response = update_request.result()
print(update_response)
Získat přijatou sdílenou složku
Příjemce dat může načíst jednotlivou přijatou sdílenou složku.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
list_detached_response = client.received_shares.list_detached(orderby="properties/createdAt desc")
list_detached = json.loads(list_detached_response)
received_share = list_detached[0]
get_share_response = client.received_shares.get(received_share_id=received_share['id'])
retrieved_share = json.loads(get_share_response)
print(retrieved_share)
Vypsat připojené přijaté sdílené složky
Příjemci dat můžou také načíst seznam připojených přijatých sdílených složek.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
consumer_storage_account_resource_id = "/subscriptions/{subscription-id}/resourceGroups/consumer-storage-rg/providers/Microsoft.Storage/storageAccounts/consumerstorage"
list_attached_response = client.received_shares.list_attached(
reference_name=consumer_storage_account_resource_id,
orderby="properties/createdAt desc")
print(list_attached_response)
Odstranit přijatou sdílenou složku
Příjemce dat může přijatou sdílenou složku odstranit, aby ukončil přístup ke sdíleným datům.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
delete_received_share_request = client.received_shares.begin_delete(received_share_id=received_share['id'])
delete_received_share_response = delete_received_share_request.result()
print(delete_received_share_response)
Sdílení příkladů prostředků
Následující příklady kódu ukazují, jak pomocí sady Microsoft Azure Python SDK pro Purview Sharing zobrazit sdílené prostředky. Prostředek sdílené složky je podkladový prostředek, ze kterého poskytovatel sdílí data, nebo cíl, kam příjemce připojuje data, která s ním sdílí.
Vypsat sdílené prostředky
Je možné načíst seznam sdílených prostředků a zobrazit všechny prostředky v rámci účtu, ve kterém probíhaly aktivity sdílení.
import os
from azure.purview.sharing import PurviewSharingClient
from azure.identity import DefaultAzureCredential
endpoint = os.environ["ENDPOINT"]
credential = DefaultAzureCredential()
client = PurviewSharingClient(endpoint=endpoint,credential=credential)
list_request = client.share_resources.list(
filter="properties/storeKind eq 'AdlsGen2Account'",
orderby="properties/createdAt desc")
for list_response in list_request:
print(list_response)
Řešení potíží
Obecné
Klient katalogu Purview vyvolá výjimky definované v Azure Core , pokud na své odpovědi zavoláte .raise_for_status()
.
protokolování
Tato knihovna používá k protokolování standardní knihovnu protokolování . Základní informace o relacích HTTP (adresy URL, hlavičky atd.) se protokolují na úrovni INFO.
Podrobné protokolování úrovně DEBUG, včetně těl požadavků/odpovědí a nezopravovaných hlaviček, je možné povolit v klientovi s argumentem klíčového logging_enable
slova:
import sys
import logging
from azure.identity import DefaultAzureCredential
from azure.purview.sharing import PurviewSharingClient
# Create a logger for the 'azure' SDK
logger = logging.getLogger('azure')
logger.setLevel(logging.DEBUG)
# Configure a console output
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
endpoint = "https://<my-account-name>.share.purview.azure.com"
credential = DefaultAzureCredential()
# This client will log detailed information about its HTTP sessions, at DEBUG level
client = PurviewSharingClient(endpoint=endpoint, credential=credential, logging_enable=True)
Podobně logging_enable
může povolit podrobné protokolování pro jedno send_request
volání, i když to není povolené pro klienta:
result = client.types.get_all_type_definitions(logging_enable=True)
Další kroky
Obecnější ukázky najdete v našich ukázkách.
Přispívání
Tento projekt vítá příspěvky a návrhy. Většina příspěvků vyžaduje souhlas s licenční smlouvou s přispěvatelem (CLA), která stanoví, že máte právo udělit nám práva k používání vašeho příspěvku a skutečně tak činíte. Podrobnosti najdete v cla.microsoft.com.
Při odesílání žádosti o přijetí změn robot CLA automaticky určí, jestli je potřeba poskytnout smlouvu CLA, a příslušným způsobem žádost o přijetí změn upraví (např. přidáním jmenovky nebo komentáře). Stačí postupovat podle pokynů robota. Pro všechna úložiště používající naši smlouvu CLA to stačí udělat jenom jednou.
Tento projekt přijal pravidla chování pro Microsoft Open Source. Další informace najdete v nejčastějších dotazech k pravidlům chování nebo kontaktujte s opencode@microsoft.com případnými dalšími dotazy nebo připomínkami.
Azure SDK for Python
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro