

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 存取物件
<a name="directory_objects_access_objects"></a>

您可透過路徑或 `objectIdentifier` 存取目錄中的物件。

 **路徑**— 透過說明到達方法的路徑名稱，可在 Cloud Directory 樹狀目錄中識別及找到每個物件。路徑從根目錄開始 (上圖中的節點 `000`)。路徑的表示法為以斜線 (/) 標記的連結開始，後面接著以路徑分隔符號 (也是斜線) 分隔的子連結，一直到路徑的最後一個部分。例如，使用路徑 `005` 可以找到上圖中的物件 `/group/a/d`。多個路徑可找到一個物件，因為分葉節點物件可有多個父項。使用以下路徑也可以找到物件 `005`：/group/b/e

 **物件識別器**— 目錄中的每個物件都有唯一的全域識別符，即`ObjectIdentifier`。`ObjectIdentifier`傳回為[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_CreateObject.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_CreateObject.html)API 呼叫。您也可以`ObjectIdentifier`透過使用[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetObjectInformation.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetObjectInformation.html)API 呼叫。例如，若要擷取物件 `005` 的物件識別符，您可以指向物件的物件參考為路徑呼叫 `GetObjectInformation` 來導致物件，即 group/b/e 或 group/a/d。

```
GetObjectInformationRequest request = new GetObjectInformationRequest()
    .withDirectoryArn(directoryArn)
    .withObjectReference("/group/b/e")
    .withConsistencyLevel(level)
GetObjectInformationResult result = cdClient.getObjectInformation(request)
String objectIdentifier = result.getObjectIdentifier()
```

## 填入物件
<a name="directory_objects_access_objects_populatingobjects"></a>

您可以使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_AddFacetToObject.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_AddFacetToObject.html) API 呼叫將新的面向新增到物件。物件類型是由連接到物件的面向所決定。目錄中的物件附件是根據物件類型運作。連接物件時，請記住這些規則：
+  分葉節點物件不能有子項。
+  節點物件可有多個子項。
+  政策類型的物件不能有子項，但可有零或一個父項。

## 更新物件
<a name="directory_objects_access_objects_updatingobjects"></a>

您有多種方式可以更新物件：

1.  使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpdateObjectAttributes.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_UpdateObjectAttributes.html) 操作更新物件上的個別面向屬性。

1.  使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_AddFacetToObject.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_AddFacetToObject.html) 操作將新的面向新增到物件。

1.  使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_RemoveFacetFromObject.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_RemoveFacetFromObject.html) 操作從物件中刪除現有的面向。

## 刪除物件
<a name="directory_objects_access_objects_deletingobjects"></a>

連接的物件必須符合特定條件，您才可以從目錄中刪除它：

1.  您必須將物件從樹狀目錄分離。只有當物件沒有任何子項時，您才可以分離物件。如果物件有子項，您必須先分離所有子項。

1.  您只有在刪除該物件中的所有屬性後，才可以刪除分離的物件。您可以透過刪除連接到該物件的每個面向來刪除物件上的屬性。您可以呼叫 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetObjectInformation.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_GetObjectInformation.html)，以擷取連接到物件的面向清單。

1.  物件也必須沒有任何父項、沒有任何政策附件、沒有任何索引附件。

因為物件必須完全與樹狀目錄分離才能刪除，所以您必須使用物件識別符將其刪除。

## 查詢物件
<a name="directory_objects_access_objects_queryobjects"></a>

本節討論與在目錄中查詢物件相關的各種元素。

### 目錄周遊
<a name="directory_objects_access_objects_directorytraversal"></a>

因為 Cloud Directory 是樹狀目錄，所以您可以使用[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectChildren.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectChildren.html)API 操作，或從下而上使用[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectParents.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectParents.html)API 操作。

### 政策查閱
<a name="directory_objects_access_objects_policylookup"></a>

考慮到物件參考，[https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_LookupPolicy.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_LookupPolicy.html) API 操作會以由上而下的方式傳回所有連接的政策及其一或多個根路徑。任何無法指向根目錄的路徑都予以忽略。會傳回所有政策類型物件。

如果此物件是分葉節點，它可以有到達根目錄的多個路徑。這個呼叫每個呼叫只傳回一個路徑。若要擷取額外的路徑，請使用分頁字符。

### 索引查詢
<a name="directory_objects_access_objects_indexquerying"></a>

Cloud Directory 使用以下範圍支援豐富的索引查詢功能：
+ **FIRST - **從第一個已建立索引的屬性值開始。開始屬性值為選用。
+ **LAST - **傳回直到索引結尾的屬性值，包括缺漏值。結束屬性值為選用。
+ **LAST\$1BEFORE\$1MISSING\$1VALUES - **傳回直到索引結尾的屬性值，排除缺漏值。
+ **INCLUSIVE - **包括要指定的屬性值。
+ **EXCLUSIVE - **排除要指定的屬性值。

### 父項路徑清單
<a name="directory_objects_access_objects_parentpath"></a>

使用 [https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectParentPaths.html](https://docs.aws.amazon.com/clouddirectory/latest/APIReference/API_ListObjectParentPaths.html) API 呼叫，您可以擷取任何物件類型的所有可用父項路徑 (節點、分葉節點、政策節點、索引節點)。當您需要評估物件的所有父項時，這個 API 操作很有用。這個呼叫會傳回根目錄中所請求物件前的所有物件。它也會根據使用者定義的 `MaxResults` 傳回路徑數，如果父項有多個路徑。多個 API 呼叫中傳回的路徑和節點順序是一致的，除非物件已遭刪除或移動。目標物件中不指向根目錄的路徑都予以忽略。

如需此運作方式的範例，假設目錄的物件階層類似下圖。

![\[Object hierarchy diagram showing nodes, links, and policy objects in a tree structure.\]](http://docs.aws.amazon.com/zh_tw/clouddirectory/latest/developerguide/images/parent_path.png)


有編號的圖形代表不同的物件。該物件和根目錄 (`000`) 之間的箭頭數代表完整的路徑，可能會在輸出中表示。下表顯示對階層中特定分葉節點物件所執行之查詢的請求和回應。

 


**物件的範例查詢**  

| 要求 | 回應 | 
| --- | --- | 
| 004, PageToken: null, MaxResults: 1 | [\$1/group/a/c], [000, 001, 002, 004]\$1], PageToken: null | 
| 005, PageToken: null, MaxResults: 2 | [\$1/group/a/d, [000, 001, 002, 005]\$1, \$1 /group/b/e, [000, 001, 003, 005]\$1], PageToken: null 在本例中，物件 `005` 有兩個父節點 `002` 和 `003`。而且，因為 `MaxResults` 是 2，所以兩個路徑都在清單中顯示物件。  | 
| 005, PageToken: null, MaxResults: 1 | [\$1/group/a/d, [000, 001, 002, 005]\$1], PageToken: <encrypted\$1next\$1token> | 
| 005, PageToken: <encrypted\$1next\$1token>, MaxResults: 1 | [\$1/group/b/e, [000, 001, 003, 005]\$1], PageToken: null 在本例中，物件 `005` 有兩個父節點 `002` 和 `003`。而且，因為 `MaxResults` 是 1，所以會建立多個有頁面字符的編頁呼叫，以取得有物件清單的所有路徑。  | 
| 006, PageToken: null, MaxResults: 1 | [\$1/group/b/f, [000, 001, 003, 006]\$1], PageToken: null | 
| 007, PageToken: null, MaxResults: 1 | [\$1/group/a/index, [000, 001, 002, 007]\$1], PageToken: null | 