Quyền chụp nhanh
Boto3 có chức năng cho phép bạn tạo quyền truy cập âm lượng, đó là những gì AMI Sharing với AWS Marketplace yêu cầu bạn phải làm. snapshot.modify_attribute
sẽ cho phép bạn chia sẻ AMI của mình với tài khoản marketplace như vậy (bạn cũng có thể sử dụng một đại diện JSON nếu bạn thích, đó là trong các tài liệu):
response = snapshot.modify_attribute(
Attribute = 'createVolumePermission',
OperationType = 'add',
UserIds = [
'679593333241', # Marketplace user ID
]
)
Ngoài ra còn có một hàm API chính thức sẽ giúp bạn đạt được yêu cầu cấp phép được liệt kê trong Chia sẻ AMI với AWS Marketplace nếu bạn quyết định di chuyển từ boto3 (hoặc nếu người đọc không sử dụng boto3). Nếu AMI của bạn là riêng tư, bạn chỉ cần thực hiện cuộc gọi API này:
https://ec2.amazonaws.com/?Action=ModifySnapshotAttribute
&SnapshotId=ID_HERE
&CreateVolumePermission.Add.1.UserId=679593333241
&AUTHPARAMS
Điều này sẽ thêm sự cho phép mà thị trường cần để truy cập AMI của bạn. Như để thay thế ID_HERE
với ID của ảnh chụp, bạn có thể làm điều đó với boto3 bằng cách sử dụng đối tượng chụp của bạn snapshot_id sở hữu snapshot.snapshot_id
trước khi thực hiện cuộc gọi API (Nói như vậy, có rất ít lý do để bạn có thể sử dụng API này vì bạn phải sử dụng boto3 anyways).
Siêu dữ liệu sản phẩm
Bạn sẽ có thể sử dụng các hàm ServiceCatalog có liên quan trong boto3, chẳng hạn như create_product
để tải lên siêu dữ liệu của sản phẩm. Ngoài ra còn có các hàm API chính thức tương đương (cái này chỉ là Tạo sản phẩm, chúng không được liệt kê theo cách cho phép tôi liên kết với chúng một cách độc đáo). Điều đáng chú ý là API chính thức chỉ chấp nhận JSON trong khi boto3 sẽ tự tạo JSON. Cái nào hữu ích hơn cho bạn tùy thuộc vào cách dữ liệu của bạn được cấu trúc trong (các) tệp siêu dữ liệu sản phẩm của bạn. Vì tôi không biết rằng tôi không thể trực tiếp viết mã để làm điều đó.