このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge ドキュメントを表示する
VS Code での Apigee を使用したプログラム可能な API プロキシを開発およびテストします。 次のセクションで説明するように、API プロキシ構成環境のアーカイブを Apigee 統合テスト環境と本番環境にデプロイします。
Apigee 環境でアーカイブ デプロイを有効にする
アーカイブをデプロイする前に、Apigee 環境でアーカイブ デプロイを有効にする必要があります。
以下のセクションの手順に沿って、アーカイブ デプロイを有効にします。
Apigee UI
Apigee 環境でアーカイブ デプロイを有効にするには、(プロビジョニング ウィザード以外で)Apigee 環境を作成する際に、デプロイタイプで [Archive] を選択します。
Apigee API
API を使用して環境を作成する際にアーカイブ デプロイを有効にするには、リクエスト本文で deploymentType
を ARCHIVE
に設定します。
例:
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-type: application/json" \ -d '{ "name": "integration-test", "description": "Integration test environment", "displayName" : "Integration test", "deploymentType" : "ARCHIVE" }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "IN_PROGRESS" } }
オペレーションのステータスを確認できます。例:
curl https://apigee.googleapis.com/v1/organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7 / -H "Authorization: Bearer $TOKEN"
レスポンスの例を次に示します。オペレーションの状態は FINISHED
に、環境の状態は ACTIVE
に設定されています。
{ "name": "organizations/$ORG/operations/11b1ad1c-2371-473d-bcd4-f621f8d98ef7", "metadata": { "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata", "operationType": "INSERT", "targetResourceName": "organizations/$ORG/environments/integration-test", "state": "FINISHED" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.apigee.v1.Environment", "name": "integration-test", "description": "Integration test environment", "createdAt": "1615553880084", "lastModifiedAt": "1615553881911", "displayName": "Integration test", "state": "ACTIVE", "deploymentType": "ARCHIVE" } }
API の詳細については、環境 API を作成するをご覧ください。
Apigee 環境へのアーカイブのデプロイ
アーカイブを Apigee 環境にデプロイするには、次の gcloud
コマンドを使用します。
gcloud beta apigee archives deploy \ --environment=$ENV \ [--organization=$ORG] \ [--source=$SOURCE] \ [--labels $KEY=$VALUE[,$KEY2=$VALUE2,$KEY3=$VALUE3,...]]
--environment
フラグを使用して、アーカイブをデプロイする Apigee 環境を指定する必要があります。Apigee 環境では、アーカイブ デプロイメントを有効にする必要があります。詳細については、gcloud beta apigee アーカイブのデプロイ をご覧ください。
デフォルトでは、アーカイブは次のようにデプロイされます。
gcloud
に構成されている現在アクティブなプロジェクトに関連付けられている組織に対して。現在の gcloud 構成を表示するには、
gcloud config list
を実行します。組織を指定するには、--organization
フラグを使用します。- 現在の作業ディレクトリから。
アーカイブのsrc/main/apigee
ルート ディレクトリが現在の作業ディレクトリ以外の場所にある場合は、--source
フラグを使用してアーカイブのルート ディレクトリの場所を指定します。Apigee ワークスペースの構造の理解もご覧ください。
必要に応じて、--labels
フラグを使用して最大 64 個のカスタムラベルの Key-Value ペアをアーカイブのデプロイに追加できます。たとえば、ビルド番号を使用してアーカイブにラベルを付けることができます。このラベルは、アーカイブ デプロイを一覧表示するときに表示されます。Key-Value は次のガイドラインに従う必要があります。
- 最大文字数: 63 文字
- 最大サイズ: 128 バイト
- UTF-8 エンコード済み
- 次の Perl 互換正規表現(PCRE)を遵守します。
[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
Apigee on Google Cloud にデプロイするときに、バックグラウンドで gcloud
コマンドにより次の手順が行われます。
src/main/apigee
Apigee ワークスペース ディレクトリの ZIP ファイルを作成します。詳細については、Apigee ワークスペースの構造についてをご覧ください。- 次のように、アーカイブを Apigee on Google Cloud にデプロイします。
- generateUploadUrl API を使用して、現在の Apigee 組織に関連付けられているプロジェクト内の Google Cloud Storage バケットの署名付き URL を生成します。
- 署名付き URL を使用して、アーカイブ ZIP ファイルを Cloud Storage バケットにアップロードします。
- Cloud Storage バケットで現在ステージングされているアーカイブを Google Cloud 上の Apigee にデプロイします。Archive Deployments API を使用します。
リクエストの例
次の例では、現在のディレクトリに src/main/apigee
の ZIP アーカイブを作成し、指定された Apigee 環境にデプロイします。
gcloud beta apigee archives deploy --environment=$ENV
次の例は、gcloud
に構成されている現在アクティブなプロジェクトに関連付けられていない組織を指定する方法を示しています。
gcloud beta apigee archives deploy --environment=$ENV --organization=$ORG
次の例では、myarchive
の下の src/main/apigee
ディレクトリの zip アーカイブを作成し、指定された Apigee 環境にデプロイします。
gcloud beta apigee archives deploy --environment=$ENV --source=/myarchive
次の例では、status
ラベルと build_id
ラベルをアーカイブ デプロイメントに追加します。
gcloud beta apigee archives deploy --environment=$ENV --labels=status=released,build=210315
レスポンスの例
レスポンスの例を次に示します。
Using Apigee organization 'myorg' Waiting for operation [b64c2665-b5ac-43cc-9e2d-232e8895c2ed] to complete...done.
アーカイブ デプロイメントのステータスの確認
アーカイブ デプロイのステータスを確認するには、gcloud alpha apigee operations コマンドを使用します。
次の例は、リビジョン ID 439fa3f7-6aa4-42ad-8b12-3ca912c75d5c
を持つオペレーションのアーカイブ デプロイメントのステータスが IN_PROGRESS
であることを示しています。
gcloud alpha apigee operations describe b64c2665-b5ac-43cc-9e2d-232e8895c2ed
レスポンスの例を次に示します。state
が IN_PROGRESS
に設定されていることに注意してください。
Using Apigee organization 'myorg' done: true metadata: '@type': type.googleapis.com/google.cloud.apigee.v1.OperationMetadata operationType: INSERT state: IN_PROGRESS targetResourceName: uri name: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed organization: myorg response: '@type': type.googleapis.com/google.cloud.apigee.v1.CanaryEvaluation control: 1-5-0-20210319-071117-ghq74 endTime: '2021-03-20T06:15:44.329363950Z' metricLabels: env: test location: us-central1 name: uri startTime: '2021-03-20T06:14:44.306534584Z' treatment: 1-5-0-20210319-190954-if0wk verdict: NONE uuid: b64c2665-b5ac-43cc-9e2d-232e8895c2ed
オペレーションが完了すると、state
が FINISHED
に設定されます。
環境内のすべてのアーカイブ デプロイメントの一覧表示
以下のセクションの説明に沿って、環境内のすべてのアーカイブ デプロイメントを一覧表示します。
gcloud
Apigee on Google Cloud のすべてのアーカイブ デプロイメントを一覧表示するには、次の gcloud
コマンドを使用します。
gcloud beta apigee archives list --environment=$ENV
--environment
フラグを使用してアーカイブ デプロイメントを表示する Apigee 環境を指定する必要があります。Apigee 環境は、アーカイブ デプロイメントの詳細を表示する必要があります。詳細については、gcloud beta apigee アーカイブのリスト をご覧ください。
レスポンスの例を次に示します。
Using Apigee organization 'myorg' ARCHIVE ID ENVIRONMENT DEPLOYED AT LABELS OPERATION STATUS pzfbs8uidbdv224joz myorg 2021-03-10 11:21:29 status=released,build=210315 Deployed fb4r8log2gm63r3gtu myorg 2021-03-05 13:40:30 vrytwbhso558oil53m myorg 2021-03-03 21:20:53
Apigee API
環境内のアーカイブ デプロイメントを一覧表示するには、次の API に GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments" \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{ "archiveDeployments": [ { "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615821232451727", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/fb4r8log2gm63r3gtu", "createdAt": "1615819281858447", "updatedAt": "1615819281858447", "operation": "organizations/apigee-docs-c/operations/71549b9c-4493-41b6-9838-c0ad5b1b3181" }, { "name": "organizations/myorg/environments/integration-test/archiveDeployments/vrytwbhso558oil53m", "createdAt": "1615578337832207", "updatedAt": "1615578337832207", "operation": "organizations/apigee-docs-c/operations/a2eb50b5-f276-4de4-96a3-72fac3d4c05e" } ] }
アーカイブ デプロイメントの詳細の表示
以下のセクションで説明するように、アーカイブ デプロイメントの詳細を表示します。
gcloud
Apigee on Google Cloud のアーカイブ デプロイメントの詳細を表示するには、次の gcloud
コマンドを使用します。
gcloud beta apigee archives describe $ID --environment=$ENV
次の項目を指定する必要があります。
- アーカイブ デプロイメントのリビジョンの ID。
--environment
フラグを使用してアーカイブ デプロイメントを表示する Apigee 環境。Apigee 環境では、アーカイブ デプロイメントを有効にする必要があります。
詳細については、gcloud beta apigee アーカイブの説明 をご覧ください。
次に例を示します。
gcloud apigee archives describe pzfbs8uidbdv224joz --environment=$ENV
レスポンスの例を次に示します。
Using Apigee organization 'myorg' createdAt: '1615578337832207' labels: status: 'released' build: '210315' name: organizations/myorg/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/myorg/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed operationStatus: Deployed updatedAt: '1615821232451727'
Apigee API
アーカイブ デプロイメントの詳細を表示するには、次の API に GET リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
アーカイブ デプロイメントのリビジョンの ID を渡す必要があります。Apigee 環境のアーカイブ デプロイメントのリビジョン ID のリストを確認するには、環境内のすべてのアーカイブ デプロイメントの一覧表示をご覧ください。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/pzfbs8uidbdv224joz" \ -X GET \ -H "Authorization: Bearer $TOKEN"
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
アーカイブ デプロイメントのラベルの更新
以下のセクションの説明に沿って、アーカイブ デプロイメントのラベルを更新します。
gcloud
Apigee on Google Cloud のアーカイブ デプロイメントのラベルを更新するには、次の gcloud
コマンドを使用します。
gcloud beta apigee archives update [$ID] --environment=$ENV [--update-labels=$KEY=$VALUE[,$KEY2=$VALUE2...$KEYn=$VALUEn]], [--clear-labels | --remove-labels=$KEY[,$KEY2...$KEYn]]
次の項目を指定する必要があります。
- アーカイブ デプロイメントのリビジョンの ID
--environment
フラグを使用してアーカイブ デプロイメントを表示する Apigee 環境。Apigee 環境では、アーカイブ デプロイメントを有効にする必要があります。- 次のフラグの 1 つ以上:
フラグ 説明 --clear-labels
すべてのラベルを削除します。 --update-labels
も指定されている場合、--clear-labels
が最初に適用されます。--remove-labels
が指定されている場合は指定できません。--remove-labels
指定したラベルを削除します。 --update-labels
も指定されている場合、それが最初に適用されます。--clear-labels
が指定されている場合は指定できません。--update-labels
ラベルを更新します。ラベルが存在する場合はその値が変更され、そうでない場合は新しいラベルが作成されます。ラベルを更新する前に、 --remove-labels
フラグまたは--clear-labels
フラグと組み合わせて、サブセットまたはすべてのラベルをそれぞれ削除します。
詳細については、gcloud beta apigee アーカイブの更新 をご覧ください。
次に例を示します。
gcloud apigee archives update pzfbs8uidbdv224joz --environment=$ENV \ --clear-labels --update-labels=status=released,build=210315,tier=1
レスポンスの例を次に示します。
Using Apigee organization `myorg` createdAt: 2020-04-04T04:04:04.004Z labels: status: released, build: 210315, tier: 1 name: organizations/apigee-docs-c/environments/dev/archiveDeployments/pzfbs8uidbdv224joz operation: organizations/apigee-docs-c/operations/bf587121-8b5c-4897-9d8f-9b1ef0cb06ca updatedAt: '1633450432067431'
Apigee API
Apigee on Google Cloud のアーカイブ デプロイメントのラベルを更新するには、次の API に PATCH リクエストを発行します。
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
アーカイブ デプロイメントのリビジョンの ID を渡す必要があります。Apigee 環境のアーカイブ デプロイメントのリビジョン ID のリストを表示するには、環境内のすべてのアーカイブ デプロイメントの一覧表示をご覧ください。
リクエスト本文でアーカイブに追加するすべてのラベルを渡します。渡されたラベルは現在のラベルセットを上書きします。そのため、リクエスト本文からラベルを省略してラベルを削除するか、空のリストを渡してすべてのラベルを削除できます。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X PATCH \ -H "Authorization: Bearer $TOKEN" \ -d '{ "labels": { "status" : "released", "build" : "210315" } }'
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{ "name": "organizations/myorg/environments/integration-test/archiveDeployments/pzfbs8uidbdv224joz", "labels": { "status": "released", "build": "210315" }, "createdAt": "1615578337832207", "updatedAt": "1615821232451727", "operation": "organizations/apigee-docs-c/operations/b64c2665-b5ac-43cc-9e2d-232e8895c2ed" }
アーカイブ デプロイメントを使用した Apigee 環境の削除
アーカイブ デプロイメントを使用する Apigee 環境を削除するには:
- 一時フォルダ内に、$ENV が削除する環境の名前と一致する次のディレクトリ構造を作成します。次に例を示します。
mkdir -p /$TEMP/archive/src/main/apigee/environments/$ENV
deployments.json
ファイルをディレクトリに追加します。次に例を示します。touch /$TEMP/archive/src/main/apigee/environments/$ENV/deployments.json
- 以下に示すように、
deployments.json
を更新して空のproxies
配列を追加します。{ "proxies" : [] }
- ディレクトリ(cd)を
$TEMP/archive
フォルダに変更します。cd $TEMP/archive
設定に応じて次のようになります。
- 削除する Apigee 環境にアーカイブをデプロイします。
gcloud beta apigee archives deploy --environment=$ENV
- Apigee 環境を削除します。
アーカイブ デプロイメントのリビジョンを削除する
次のセクションで説明するように、アーカイブ デプロイのリビジョンを削除します。
gcloud
Apigee on Google Cloud でアーカイブ デプロイメントのリビジョンを削除するには、次の gcloud
コマンドを使用します。
gcloud apigee archives delete $ID --environment=$ENV
次の項目を指定する必要があります。
- 削除するリビジョンの ID。
--environment
フラグを使用してアーカイブ デプロイメントを表示する Apigee 環境。Apigee 環境では、アーカイブ デプロイメントを有効にする必要があります。
次に例を示します。
gcloud apigee archives delete fb4r8log2gm63r3gtu --environment=dev
レスポンスの例を次に示します。
Archive deployment revision "fb4r8log2gm63r3gtu" deleted
Apigee API
Apigee on Google Cloud でアーカイブ デプロイのリビジョンを削除するには、https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID
API に DELETE リクエストを発行します。
削除するアーカイブ デプロイのリビジョンの ID を渡す必要があります。環境のアーカイブ デプロイメントのリビジョン ID のリストを確認するには、環境内のすべてのアーカイブ デプロイの一覧表示をご覧ください。
次に例を示します。
curl "https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/archiveDeployments/$ID" \ -X DELETE \ -H "Authorization: Bearer $TOKEN" \
ここで、OAuth 2.0 アクセス トークンの取得で説明されているように、$TOKEN
は OAuth 2.0 アクセス トークンに設定されます。この例で使用されている curl
オプションの詳細については、curl の使用をご覧ください。使用される環境変数の説明については、Apigee API リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{}