Implementowanie stanu ExecutionState
Przekazanie informacji do zestawu SDK miP w celu obliczenia akcji, która powinna zostać wykonane w zależności od bieżącego stanu i żądanego stanu, jest zaimplementowana za pośrednictwem mip::ExecutionState klasy. Podobnie jak inne klasy w zestawie SDK, jest to klasa abstrakcyjna i musi zostać zaimplementowana ExecutionState przez dewelopera.
Aby uzyskać pełny przykład
ExecutionStateimplementacji, przejrzyj następujące przykładowe źródło:
mip::ExecutionState Members
ExecutionState udostępnia następujących członków wirtualnych. Każdy z nich zapewnia kontekst aparatowi zasad w celu zwrócenia informacji o tym, jakie akcje mają zostać wykonane przez aplikację. Ponadto te informacje mogą być używane w celu zapewnienia informacji inspekcji funkcji raportowania usługi Azure Information Protection.
| Członek | Zwraca |
|---|---|
std::shared_ptr<mip::Label> GetNewLabel() |
Zwraca etykietę, która ma zostać zastosowana do obiektu. |
mip::DataState GetDataState() |
Zwraca wartość mip::D ataState obiektu. |
std::pair<bool, std::string> IsDowngradeJustified() |
Zwraca wartość std::p air wyrażający, czy obniżenie wersji jest wyo jej wyliczona i czy jest justowanie. |
std::string GetContentIdentifier() |
Zwraca identyfikator zawartości. Powinien to być identyfikator czytelny dla człowieka, wskazujący lokalizację obiektu. |
mip::ActionSource GetNewLabelActionSource() |
Zwraca wartość mip::ActionSource (Źródło Akcji) etykiety. |
mip::AssignmentMethod GetNewLabelAssignmentMethod() |
Zwraca wartość mip::Sposób przypisywania etykiety. |
std::vector<std::pair<std::string, std::string>> GetNewLabelExtendedProperties() |
Zwraca wartość std::vector of std::p airs of strings, zawierającą metadane niestandardowe, które zostaną zastosowane do dokumentu. |
std::vector<std::pair<std::string, std::string>> GetContentMetadata() |
Zwraca wartość std::vector of std::p siewą ciągów zawierających bieżące metadane zawartości. |
std::shared_ptr<mip::ProtectionDescriptor> GetProtectionDescriptor() |
Zwraca wskaźnik mip::P rotectionDescriptor. |
std::string GetContentFormat() |
Zwraca ciąg. |
mip::ActionType GetSupportedActions() |
Zwraca wartość mip::ActionTypes dla etykiety. |
std::shared_ptr<mip::ClassificationResults> |
Zwraca listę wyników klasyfikacji, jeśli zostały zaimplementowane. |
Każdy z nich musi zostać zastąpiony we wdrożeniu klasy pochodzącej z mip::ExecutionState . W przykładowej aplikacji połączonej z powyższym, ten proces jest zrealizowany przez zaimplementowanie struktury o nazwie , i przekazanie jej do konstruktora klasy ExecutionStateOptions pochodnych.
W tym przykładziestruct called is defined as:
struct ExecutionStateOptions {
std::unordered_map<std::string, std::string> metadata;
std::string newLabelId;
std::string contentIdentifier;
mip::ActionSource actionSource = mip::ActionSource::MANUAL;
mip::DataState dataState = mip::DataState::USE;
mip::AssignmentMethod assignmentMethod = mip::AssignmentMethod::STANDARD;
bool isDowngradeJustified = false;
std::string downgradeJustification;
std::string templateId;
std::string contentFormat = mip::GetFileContentFormat();
mip::ActionType supportedActions;
bool generateAuditEvent;
};
Każda właściwość jest ustawiana przez aplikację, a następnie przekazywana do ExecutionStateOptions konstruktora klasy pochodzącej z mip::ExecutionState . Te informacje służą do określania działań do podjęcia. Dane zawarte w tej mip::ExecutionState usłudze będą również dostępne w usłudze Azure Information Protection Analytics.
Następne kroki
- Dowiedz się, jak określać akcje obliczeniowe dla nowej lubistniejącej etykiety na podstawie bieżącego i odpowiedniego stanu.
- Pobierz przykłady zestawu SDK zasad z GitHub i wypróbuj zestaw SDK zasad