Na przykład, mam ten kod:Jak uzyskać dostęp do klienta niskiego poziomu z instancji zasobów Boto 3?
import boto3
ec2 = boto3.resource('ec2')
# Where is the client???
muszę zadzwonić boto3.client('ec2')
czy jest jakiś inny sposób?
Na przykład, mam ten kod:Jak uzyskać dostęp do klienta niskiego poziomu z instancji zasobów Boto 3?
import boto3
ec2 = boto3.resource('ec2')
# Where is the client???
muszę zadzwonić boto3.client('ec2')
czy jest jakiś inny sposób?
Każdy obiekt zasobu ma specjalny atrybut o nazwie meta
, który jest dyktando Pythona zawierającym informacje o usłudze, dostęp do klienta niskiego poziomu, a czasami również załadowane do pamięci podręcznej atrybuty zasobu. Można uzyskać do niego tak:
client = ec2.meta.client
response = client.reboot_instances(InstanceIds=[...])
Jest to szczególnie przydatne, jeśli utworzony zasób za pomocą niestandardowych parametrów, które nie chcą mieć, aby śledzić na później:
ec2 = boto3.resource('ec2', region_name='us-west-2')
# This client is now a US-West-2 client
client = ec2.meta.client
Jak zawsze , koniecznie sprawdź numer official documentation. Uwaga: ten interfejs zmieniono w boto3#45. Poprzednio meta
był dict
.