IBM Cloud Docs
專案 JSON

專案 JSON

專案中的每一項配置都會以 JSON 形式儲存在稱為 project.json 的檔案中。 專案需要控管儲存在 project.json 中的配置變更,例如,需要核准並確保自動檢查在儲存變更之前通過。

我的 Project.json 檔案中有哪些內容?

project.json 檔案有幾個部分:

  • 專案 ID 和說明,它們是使用者定義的值。
  • 專案 meta 資料,包括專案 CRN、位置、資源群組及狀態。
  • 包含可部署架構及所有輸入值之參照的配置陣列。

建議從主控台中的 「專案」頁面 建立起始 project.json。 這會提供可編輯的起始 project.json 檔案。 當您在主控台中建立專案時,會自動為您建立 project.json

專案 meta 資料

如果發生與使用者現在必須對其採取動作的專案相關的事件,則專案 meta 資料可能包含 cumulative_needs_attention_view。如果專案配置為 Event Notifications的來源,則 event_notifications_crn 也是選用值。 如需相關資訊,請參閱 啟用專案的事件通知

  ...
  "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
  "name": "CRA Test",
  "description": "",
  "metadata": {
    "crn": "crn:v1:staging:public:project:us-south:a/<account_id>:cfbf9050-ab8e-ac97-b01b-ab5af830be8a::",
    "location": "us-south",
    "resource_group": "Default",
    "state": "READY",
    "cumulative_needs_attention_view": [
      {
        "event": "config.defn.update"
      },
      {
        "event_id": "489f0090-6d7c-4af5-8f20-9106543e4974"
      },
      {
        "config_id": "069ab83e-5016-4bf2-bd50-cc95cf678293"
      },
      {
        "config_version": 1
      }
    ],
    "event_notifications_crn": "crn:v1:staging:public:event-notifications:us-south:a/<account_id>:instance-id::"
  }
  ...

專案的 ID 和 CRN 無法編輯,並由 IBM Cloud儲存。 此外,專案實例本身上的標籤會儲存在廣域搜尋及標記中。

配置

專案中每一個已驗證及核准的配置在 configs 陣列中都有一個物件。 每一個配置物件都有名稱、輸入陣列及類型。 如果類型是 IaC 範本,則會包含型錄 locator_id

...
"configs": [
    {
      "id": "cfbf9050-ab8e-ac97-b01b-ab5af830be8a",
      "name": "my-deployment",
      "description": "A microservice to deploy on top of ACME infrastructure.",
      "locator_id": "1082e7d2-5e2f-0a11-a3bc-f88a8e1931fc.018edf04-e772-4ca2-9785-03e8e03bef72-global",
      "type": "terraform_template",
      "input": [
        {
          "name": "cos_bucket_name",
          "type": "string",
          "required": true,
          "default": "sample-cos-bucket",
          "value": ""
        },
        {
          "name": "ibmcloud_api_key",
          "type": "password",
          "required": true,
          "default": "__NOT_SET__",
          "value": ""
        },
      ],
      "output": [
        {
          "name": "resource_group_id"
        },
        {
          "name": "logdna_id"
        }
      ]
   ]
...

使用控制台匯出專案 JSON

作為處理專案的用戶,您可以匯出專案 JSON 以在IBM Cloud專案服務之外備份專案資訊。

有興趣在您自己的Git儲存庫中管理您的專案嗎? 雖然您可以匯出專案 JSON 來手動管理項目,但您也可以直接將專案與Git儲存庫整合。 有關更多信息,請轉到 將項目與Git存儲庫整合

若要匯出專案 JSON,請完成以下步驟:

  1. 在IBM Cloud控制台中,點擊導航選單圖示導覽選單圖示>項目
  2. 在專案儀表板中,按一下操作圖示操作圖示>匯出 JSON
  3. 在模式中,按一下 「匯出」

使用 CLI 設定 JSON 輸出格式

透過在命令列上使用以下 --output json 選項,您可以將命令的輸出設定為 JSON:

--output json

使用 CLI 匯出專案 JSON

作為處理專案的用戶,您可以匯出專案 JSON 以在IBM Cloud專案服務之外備份專案資訊。

有興趣在您自己的Git儲存庫中管理您的專案嗎? 雖然您可以匯出專案 JSON 來手動管理項目,但您也可以直接將專案與Git儲存庫整合。 有關更多信息,請轉到 將項目與Git存儲庫整合

若要使用 CLI 匯出專案 JSON,請執行以下 ibmcloud project get 命令:

ibmcloud project get --id ID

請參閱 ibmcloud project get 以取得範例命令以及有關命令參數的詳細資訊。

使用API匯出項目JSON

作為處理專案的用戶,您可以匯出專案 JSON 以在IBM Cloud專案服務之外備份專案資訊。

有興趣在您自己的Git儲存庫中管理您的專案嗎? 雖然您可以匯出專案 JSON 來手動管理項目,但您也可以直接將專案與Git儲存庫整合。 有關更多信息,請轉到 將項目與Git存儲庫整合

您可以透過呼叫 專案 API以程式方式匯出專案 JSON,如下列範例請求所示:

curl -X GET --location --header "Authorization: Bearer {iam_token}" \
  --header "Accept: application/json" \  
  "{base_url}/v1/projects/{id}"