Utilisez le kit SDK OSS pour Python afin d’interroger les propriétés d’un compartiment, telles que l’état de suivi des accès, la région, la date de création, la liste de contrôle d’accès (ACL), le propriétaire, la classe de stockage, le type de redondance, les points de terminaison, l’état de la réplication entre régions (CRR), l’état du versioning et la méthode de chiffrement.
Notes
L’exemple de code utilise l’ID de région
cn-hangzhou(Chine (Hangzhou)) et le point de terminaison public. Pour accéder au compartiment depuis des services Alibaba Cloud situés dans la même région, utilisez le point de terminaison interne. Consultez la rubrique Régions et points de terminaison OSS.Les identifiants d’accès sont chargés à partir des variables d’environnement. Pour plus d’informations sur la configuration des identifiants d’accès, consultez la rubrique Configurer les identifiants d’accès.
L’autorisation
oss:GetBucketInfoest requise pour interroger les informations relatives à un compartiment. Pour plus d’informations, consultez la rubrique Accorder une politique personnalisée.
Méthode
get_bucket_info(request: GetBucketInfoRequest, **kwargs) → GetBucketInfoResult
Paramètres de la requête
|
Paramètre |
Type |
Description |
|
request |
GetBucketInfoRequest |
Paramètres de la requête. Voir GetBucketInfoRequest. |
Paramètres de la réponse
|
Type |
Description |
|
GetBucketInfoResult |
Corps de la réponse. Voir GetBucketInfoResult. |
Définition complète de la méthode : get_bucket_info.
Exemple de code
L’exemple suivant permet d’interroger les informations relatives à un compartiment.
import argparse
import alibabacloud_oss_v2 as oss
# Create a command line parameter parser and describe the purpose of the script. This example describes how to query bucket info.
parser = argparse.ArgumentParser(description="Get detailed information about a specified OSS bucket.")
# Specify the required command line parameter --region, which specifies the region in which the bucket is located.
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
# Specify the required command line parameter --bucket, which specifies the name of the bucket.
parser.add_argument('--bucket', help='The name of the bucket to get information for.', required=True)
# Specify the optional command line parameter --endpoint, which specifies the endpoint that other services can use to access OSS.
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS.')
def main():
"""
The main function used to parse command line parameters and query detailed information about the specified bucket.
"""
args = parser.parse_args() # Parse command line parameters.
# Load access credentials from environment variables for authentication.
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# Use the default configurations of the SDK and specify the credential provider and region.
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
# If the endpoint parameter is provided, assign this endpoint to the configuration settings.
if args.endpoint is not None:
cfg.endpoint = args.endpoint
# Create an OSS client using the configured information.
client = oss.Client(cfg)
# Construct a request to query detailed information about the specified bucket.
request = oss.GetBucketInfoRequest(bucket=args.bucket)
# Send the request and retrieve the response.
result = client.get_bucket_info(request)
# Display various components in the response.
print(f'status code: {result.status_code},'
f' request id: {result.request_id},'
f' name: {result.bucket_info.name},'
f' access monitor: {result.bucket_info.access_monitor},'
f' location: {result.bucket_info.location},'
f' creation date: {result.bucket_info.creation_date},'
f' extranet endpoint: {result.bucket_info.extranet_endpoint},'
f' intranet endpoint: {result.bucket_info.intranet_endpoint},'
f' acl: {result.bucket_info.acl},'
f' data redundancy type: {result.bucket_info.data_redundancy_type},'
f' owner id: {result.bucket_info.owner.id},'
f' owner display name: {result.bucket_info.owner.display_name},'
f' storage class: {result.bucket_info.storage_class},'
f' resource group id: {result.bucket_info.resource_group_id},'
)
if __name__ == "__main__":
main() # Entry point of the script. The main function is invoked when the file is run directly.
Paramètres courants dans les requêtes d’interrogation
|
Paramètre |
Description |
|
BucketInfo.Name |
Nom du compartiment. |
|
BucketInfo.AccessMonitor |
État du suivi des accès du compartiment. |
|
BucketInfo.Location |
Région dans laquelle se trouve le compartiment. |
|
BucketInfo.CreationDate |
Date de création du compartiment. |
|
BucketInfo.ExtranetEndpoint |
Point de terminaison public du compartiment. |
|
BucketInfo.IntranetEndpoint |
Point de terminaison interne pour l’accès depuis les instances ECS situées dans la même région. |
|
BucketInfo.ACL |
Liste de contrôle d’accès (ACL) du compartiment. |
|
BucketInfo.RedundancyType |
Type de redondance du compartiment. |
|
BucketInfo.Owner |
Comprend :
|
|
BucketInfo.StorageClass |
Classe de stockage du compartiment. |
|
BucketInfo.SseRule |
Comprend :
|
|
BucketInfo.Versioning |
État du versioning du compartiment. |
|
BucketInfo.CrossRegionReplication |
État de la réplication entre régions (CRR) du compartiment. |
Références
Pour plus d’informations sur les compartiments, consultez la rubrique Présentation des compartiments.
Exemple de code complet : get_bucket_info.py.