列出密文的所有版本。
包含此代码示例的文档页面
代码示例
C#
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
using Google.Cloud.SecretManager.V1;
public class ListSecretVersionsSample
{
public void ListSecretVersions(string projectId = "my-project", string secretId = "my-secret")
{
// Create the client.
SecretManagerServiceClient client = SecretManagerServiceClient.Create();
// Build the resource name.
SecretName secretName = new SecretName(projectId, secretId);
// Call the API.
foreach (SecretVersion secretVersion in client.ListSecretVersions(secretName))
{
// ...
}
}
}
Go
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
import (
"context"
"fmt"
"io"
secretmanager "cloud.google.com/go/secretmanager/apiv1"
"google.golang.org/api/iterator"
secretmanagerpb "google.golang.org/genproto/googleapis/cloud/secretmanager/v1"
)
// listSecretVersions lists all secret versions in the given secret and their
// metadata.
func listSecretVersions(w io.Writer, parent string) error {
// parent := "projects/my-project/secrets/my-secret"
// Create the client.
ctx := context.Background()
client, err := secretmanager.NewClient(ctx)
if err != nil {
return fmt.Errorf("failed to create secretmanager client: %v", err)
}
// Build the request.
req := &secretmanagerpb.ListSecretVersionsRequest{
Parent: parent,
}
// Call the API.
it := client.ListSecretVersions(ctx, req)
for {
resp, err := it.Next()
if err == iterator.Done {
break
}
if err != nil {
return fmt.Errorf("failed to list secret versions: %v", err)
}
fmt.Fprintf(w, "Found secret version %s with state %s\n",
resp.Name, resp.State)
}
return nil
}
Java
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
import com.google.cloud.secretmanager.v1.SecretManagerServiceClient;
import com.google.cloud.secretmanager.v1.SecretManagerServiceClient.ListSecretVersionsPagedResponse;
import com.google.cloud.secretmanager.v1.SecretName;
import java.io.IOException;
public class ListSecretVersions {
public void listSecretVersions() throws IOException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "your-project-id";
String secretId = "your-secret-id";
listSecretVersions(projectId, secretId);
}
// List all secret versions for a secret.
public void listSecretVersions(String projectId, String secretId) throws IOException {
// Initialize client that will be used to send requests. This client only needs to be created
// once, and can be reused for multiple requests. After completing all of your requests, call
// the "close" method on the client to safely clean up any remaining background resources.
try (SecretManagerServiceClient client = SecretManagerServiceClient.create()) {
// Build the parent name.
SecretName projectName = SecretName.of(projectId, secretId);
// Get all versions.
ListSecretVersionsPagedResponse pagedResponse = client.listSecretVersions(projectName);
// List all versions and their state.
pagedResponse
.iterateAll()
.forEach(
version -> {
System.out.printf("Secret version %s, %s\n", version.getName(), version.getState());
});
}
}
}
Node.js
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
/**
* TODO(developer): Uncomment these variables before running the sample.
*/
// const parent = 'projects/my-project/secrets/my-secret';
// Imports the Secret Manager library
const {SecretManagerServiceClient} = require('@google-cloud/secret-manager');
// Instantiates a client
const client = new SecretManagerServiceClient();
async function listSecretVersions() {
const [versions] = await client.listSecretVersions({
parent: parent,
});
versions.forEach(version => {
console.log(`${version.name}: ${version.state}`);
});
}
listSecretVersions();
PHP
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
// Import the Secret Manager client library.
use Google\Cloud\SecretManager\V1\SecretManagerServiceClient;
/** Uncomment and populate these variables in your code */
// $projectId = 'YOUR_GOOGLE_CLOUD_PROJECT' (e.g. 'my-project');
// $secretId = 'YOUR_SECRET_ID' (e.g. 'my-secret');
// Create the Secret Manager client.
$client = new SecretManagerServiceClient();
// Build the resource name of the parent secret.
$parent = $client->secretName($projectId, $secretId);
// List all secret versions.
foreach ($client->listSecretVersions($parent) as $version) {
printf('Found secret version %s', $version->getName());
}
Python
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
def list_secret_versions(project_id, secret_id):
"""
List all secret versions in the given secret and their metadata.
"""
# Import the Secret Manager client library.
from google.cloud import secretmanager
# Create the Secret Manager client.
client = secretmanager.SecretManagerServiceClient()
# Build the resource name of the parent secret.
parent = client.secret_path(project_id, secret_id)
# List all secret versions.
for version in client.list_secret_versions(request={"parent": parent}):
print("Found secret version: {}".format(version.name))
Ruby
如需了解如何安装和使用 Secret Manager 客户端库,请参阅 Secret Manager 客户端库。
# project_id = "YOUR-GOOGLE-CLOUD-PROJECT" # (e.g. "my-project")
# secret_id = "YOUR-SECRET-ID" # (e.g. "my-secret")
# Require the Secret Manager client library.
require "google/cloud/secret_manager"
# Create a Secret Manager client.
client = Google::Cloud::SecretManager.secret_manager_service
# Build the resource name of the parent.
parent = client.secret_path project: project_id, secret: secret_id
# Get the list of secret versions.
list = client.list_secret_versions parent: parent
# List all secret versions.
list.each do |version|
puts "Got secret version #{version.name}"
end