

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

# 步驟 5：將存取資訊新增至堆疊組態及部署屬性
<a name="using-s3-json"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

`appsetup.rb` 配方取決於 Stacks OpsWorks [堆疊組態和部署屬性](workingcookbook-json.md)的資料，這些屬性會安裝在每個執行個體上，並包含堆疊和任何部署應用程式的詳細資訊。物件的 `deploy` 屬性具有下列結構；為了方便，將其顯示為 JSON：

```
{
   ...
  "deploy": {
    "app1": {
      "application" : "short_name",
      ...
    }
    "app2": {
      ...
    }
    ...
  }
}
```

deploy 節點包含每個部署應用程式 (以應用程式的短名命名) 的屬性。每個應用程式屬性都包含一組定義應用程式組態的屬性，例如文件根和應用程式類型。如需 `deploy` 屬性的清單，請參閱[deploy 屬性](attributes-json-deploy.md)。您可以使用 Chef 屬性語法，來代表配方中的堆疊組態和部署屬性值。例如，`[:deploy][:app1][:application]` 代表 app1 應用程式的短名。

自訂配方取決於代表資料庫和 Amazon S3 存取資訊的數個堆疊組態和部署屬性：
+ Stacks 會在建立 MySQL OpsWorks layer 時定義資料庫連線屬性`[:deploy][:database][:host]`，例如 。
+ `[:photoapp][:dbtable]` 資料表名稱屬性定義於自訂技術指南的屬性檔案中，並設為 `foto`。
+ 您必須使用自訂 JSON 來定義儲存貯體名稱屬性 `[:photobucket]`，並將該屬性新增至堆疊組態和部署屬性。

**定義 Amazon S3 儲存貯體名稱屬性**

1. 在 OpsWorks 堆疊**堆疊**頁面上，選擇**堆疊設定**，然後選擇**編輯**。

1. 在 **Configuration Management (組態管理)** 區段中，將存取資訊新增至 **Custom Chef JSON (自訂 Chef JSON)** 方塊。它看起來應該與下列類似：

   ```
   {
     "photobucket" : "yourbucketname"
   }
   ```

   將 *yourbucketname* 取代為您在[步驟 1：建立 Amazon S3 儲存貯體](using-s3-bucket.md)中記錄的儲存貯體名稱。  
![\[Custom Chef cookbook configuration with Git repository and JSON settings.\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/photoapp_walkthrough_json.png)

OpsWorks Stacks 會將自訂 JSON 合併到堆疊組態和部署屬性，再將其安裝在堆疊的執行個體上；然後`appsetup.rb`可以從 `[:photobucket]` 屬性取得儲存貯體名稱。如果您想要變更儲存貯體，您不需要動用配方，而可以直接[覆寫屬性](workingcookbook-attributes.md)以提供新的儲存貯體名稱。