Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Xóa tags khỏi tài nguyên AWS Glue với Boto3

Minh họa cách dùng boto3 để gỡ bỏ tags khỏi các tài nguyên AWS Glue (Database, Table, Crawler, Job, v.v.).

Quy trình

  1. Import boto3, ClientError.
  2. Hàm nhận resource_arn (định dạng ARN tùy loại tài nguyên) và tags_list (danh sách key cần xóa).
  3. Tạo session, client Glue.
  4. Gọi glue_client.untag_resource(ResourceArn=..., TagsToRemove=...).
  5. Trả về response metadata.
  6. Xử lý ngoại lệ.

Bảng định dạng ARN

Loại tài nguyênĐịnh dạng ARN
Catalogarn:aws:glue:region:account-id:catalog
Databasearn:aws:glue:region:account-id:database/database-name
Tablearn:aws:glue:region:account-id:table/database-name/table-name
Connectionarn:aws:glue:region:account-id:connection/connection-name
Crawlerarn:aws:glue:region:account-id:crawler/crawler-name
Jobarn:aws:glue:region:account-id:job/job-name
Triggerarn:aws:glue:region:account-id:trigger/trigger-name
DevEndpointarn:aws:glue:region:account-id:devEndpoint/endpoint-name
ML Transformarn:aws:glue:region:account-id:mlTransform/transform-id

Code mẫu

import boto3
from botocore.exceptions import ClientError

def xoa_tags(resource_arn, tags_list):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.untag_resource(ResourceArn=resource_arn, TagsToRemove=tags_list)
        return response
    except ClientError as e:
        raise Exception("Lỗi boto3 client: " + str(e))
    except Exception as e:
        raise Exception("Lỗi không mong đợi: " + str(e))

tags_dict = ["glue-db"]
print(xoa_tags("arn:aws:glue:us-east-1:1122225*****88:database/test-db", tags_dict))

Kết quả

{'ResponseMetadata': {'RequestId': 'c9f418b0-...', 'HTTPStatusCode': 200, ...}}