このページは Apigee と Apigee ハイブリッドに適用されます。
Apigee Edge のドキュメントを表示する。
VS Code での Apigee を使用したプログラム可能な API プロキシを開発およびテストします。 次のセクションで説明するように、API プロキシ構成環境のアーカイブを Apigee 統合テスト環境と本番環境にデプロイします。
Apigee 環境でアーカイブ デプロイを有効にする
アーカイブをデプロイする前に、Apigee 環境でアーカイブ デプロイを有効にする必要があります。
以下のセクションの手順に沿って、アーカイブ デプロイを有効にします。
Cloud コンソールの Apigee
-
Google Cloud コンソールで、[環境] ページに移動します。
- [+ 環境を作成] をクリックします。
[デプロイタイプ] で [アーカイブ] を選択します。
- [作成] をクリックします。
従来の Apigee UI
Apigee 環境でアーカイブのデプロイを有効にするには、(プロビジョニング ウィザード以外で)Apigee 環境を作成する際に、[Deployment type] で [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 の詳細については、Create environments 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/apigeeApigee ワークスペース ディレクトリの 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" : [] } $TEMP/archiveフォルダにディレクトリを変更(cd)します。cd $TEMP/archive
- 削除する Apigee 環境にアーカイブをデプロイします。
gcloud beta apigee archives deploy --environment=$ENV
- Apigee 環境を削除します。
アーカイブ デプロイメントのリビジョンを削除する
次のセクションで説明するように、アーカイブ デプロイのリビジョンを削除します。
gcloud
Apigee on Google Cloud でアーカイブ デプロイメントのリビジョンを削除するには、次の gcloud コマンドを使用します。
gcloud beta 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 リクエストの環境変数の設定をご覧ください。
レスポンスの例を次に示します。
{}