Lister les versions de secrets contenant un filtre
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Montre comment lister toutes les versions et métadonnées d'un secret avec un filtre spécifié.
Exemple de code
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],[],[],[],null,["# List secret versions containing a filter\n\nShows how to list all secret versions and metadata for a secret with a specified filter.\n\nCode sample\n-----------\n\n### Go\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import (\n \t\"context\"\n \t\"fmt\"\n \t\"io\"\n\n \tsecretmanager \"cloud.google.com/go/secretmanager/apiv1\"\n \t\"cloud.google.com/go/secretmanager/apiv1/secretmanagerpb\"\n \t\"google.golang.org/api/iterator\"\n )\n\n // listSecretVersionsWithFilter lists all filter-matching secret versions in the given\n // secret and their metadata.\n func listSecretVersionsWithFilter(w io.Writer, parent string, filter string) error {\n \t// parent := \"projects/my-project/secrets/my-secret\"\n \t// Follow https://cloud.google.com/secret-manager/docs/filtering\n \t// for filter syntax and examples.\n \t// filter := \"create_time\u003e2021-01-01T00:00:00Z\"\n\n \t// Create the client.\n \tctx := context.Background()\n \tclient, err := secretmanager.https://cloud.google.com/go/docs/reference/cloud.google.com/go/secretmanager/latest/apiv1.html#cloud_google_com_go_secretmanager_apiv1_Client_NewClient(ctx)\n \tif err != nil {\n \t\treturn fmt.Errorf(\"failed to create secretmanager client: %w\", err)\n \t}\n \tdefer client.https://cloud.google.com/go/docs/reference/cloud.google.com/go/secretmanager/latest/apiv1.html#cloud_google_com_go_secretmanager_apiv1_Client_Close()\n\n \t// Build the request.\n \treq := &secretmanagerpb.ListSecretVersionsRequest{\n \t\tParent: parent,\n \t\tFilter: filter,\n \t}\n\n \t// Call the API.\n \tit := client.ListSecretVersions(ctx, req)\n \tfor {\n \t\tresp, err := it.Next()\n \t\tif err == iterator.Done {\n \t\t\tbreak\n \t\t}\n\n \t\tif err != nil {\n \t\t\treturn fmt.Errorf(\"failed to list secret versions: %w\", err)\n \t\t}\n\n \t\tfmt.Fprintf(w, \"Found secret version %s with state %s\\n\",\n \t\t\tresp.Name, resp.State)\n \t}\n\n \treturn nil\n }\n\n### Java\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretVersionsRequest.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.ListSecretVersionsPagedResponse.html;\n import com.google.cloud.secretmanager.v1.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretName.html;\n import java.io.IOException;\n\n public class ListSecretVersionsWithFilter {\n\n public static void listSecretVersions() throws IOException {\n // TODO(developer): Replace these variables before running the sample.\n String projectId = \"your-project-id\";\n String secretId = \"your-secret-id\";\n // Follow https://cloud.google.com/secret-manager/docs/filtering\n // for filter syntax and examples.\n String filter = \"create_time\u003e2021-01-01T00:00:00Z\";\n listSecretVersions(projectId, secretId, filter);\n }\n\n // List all secret versions for a secret.\n public static void listSecretVersions(String projectId, String secretId, String filter)\n throws IOException {\n // Initialize client that will be used to send requests. This client only needs to be created\n // once, and can be reused for multiple requests. After completing all of your requests, call\n // the \"close\" method on the client to safely clean up any remaining background resources.\n try (https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html client = https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.html.create()) {\n // Build the parent name.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretName.html secretName = https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretName.html.of(projectId, secretId);\n\n // Get filtered versions.\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretVersionsRequest.html request =\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.ListSecretVersionsRequest.html.newBuilder()\n .setParent(secretName.https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretName.html#com_google_cloud_secretmanager_v1_SecretName_toString__())\n .setFilter(filter)\n .build();\n\n https://cloud.google.com/java/docs/reference/google-cloud-secretmanager/latest/com.google.cloud.secretmanager.v1.SecretManagerServiceClient.ListSecretVersionsPagedResponse.html pagedResponse = client.listSecretVersions(request);\n\n // List all versions and their state.\n pagedResponse\n .iterateAll()\n .forEach(\n version -\u003e {\n System.out.printf(\"Secret version %s, %s\\n\", version.getName(), version.getState());\n });\n }\n }\n }\n\n### Python\n\n\nTo learn how to install and use the client library for Secret Manager, see\n[Secret Manager client libraries](/secret-manager/docs/reference/libraries).\n\n\nTo authenticate to Secret Manager, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n def list_secret_versions_with_filter(\n project_id: str, secret_id: str, filter_str: str = \"state:ENABLED\"\n ) -\u003e None:\n \"\"\"\n List all secret versions in the given secret and their metadata.\n\n Args:\n project_id: Parent project id\n secret_id: Parent secret id\n filter_str: Secret version filter, constructing according to\n https://cloud.google.com/secret-manager/docs/filtering\n \"\"\"\n\n # Import the Secret Manager client library.\n from google.cloud import secretmanager\n\n # Create the Secret Manager client.\n client = secretmanager.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html()\n\n # Build the resource name of the parent secret.\n parent = client.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html#google_cloud_secretmanager_v1_services_secret_manager_service_SecretManagerServiceClient_secret_path(project_id, secret_id)\n\n # List all secret versions.\n for version in client.https://cloud.google.com/python/docs/reference/secretmanager/latest/google.cloud.secretmanager_v1.services.secret_manager_service.SecretManagerServiceClient.html#google_cloud_secretmanager_v1_services_secret_manager_service_SecretManagerServiceClient_list_secret_versions(\n request={\"parent\": parent, \"filter\": filter_str}\n ):\n print(f\"Found secret version: {version.name}\")\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=secretmanager)."]]