파이썬을 사용하여 내 풀을 만들고 싶습니다. 마켓 플레이스에서 이미지 (Ubuntu Server 16.04)를 사용할 때이 작업을 수행 할 수 있지만 원하는 라이브러리와 설정으로 준비한 사용자 정의 이미지 (우분투 서버 16.04)를 사용하고 싶습니다. 내 수영장 만드는 오전 방법Azure 배치 풀 : Python을 통해 사용자 정의 VM 이미지를 사용하려면 어떻게해야합니까?
이있다 : 내 이미지 참조를 만들 batch.models.ImageReference()
를 사용할 필요가
new_pool = batch.models.PoolAddParameter(
id=pool_id,
virtual_machine_configuration=batchmodels.VirtualMachineConfiguration(
image_reference=image_ref_to_use, # ??
node_agent_sku_id=sku_to_use),
vm_size=_POOL_VM_SIZE,
target_dedicated_nodes=_POOL_NODE_COUNT,
start_task=start_task,
max_tasks_per_node=_CORES_PER_NODE
)
나는 영상을 ...하지만 난 그것을 사용하는 방법을 모르겠어요.
푸른 가상 머신 마켓 플레이스의 이미지 또는 사용자 정의 푸른 가상 머신 이미지에 대한 참조 :
예, 나는 다음과 같은 말한다 documentation을 확인.
그것은으로 매개 변수를 나열
:- 출판사 (STR)
- 제공 (STR)
- SKU (STR)
- 버전 (STR)
- virtual_machine_image_id (STR)
그러나 t 그는 virtual_machine_image_id
매개 변수가 없습니다 ... 즉, batch.models.ImageReference(virtual_machine_image_id)
은 허용되지 않습니다.
내 풀에 어떻게 맞춤 이미지를 사용할 수 있습니까? UPDATE
그래서 나는 사용자 정의 이미지를 사용하는 방법을 알아 냈 ... 그것이 내가 푸른 파이썬 라이브러리 및 제거 횟수에 상관없이 그들을 재 - 설치하는 것이 판명는 virtual_machine_image_id
사용할 결코 .
그럼 나는 here을 다운로드했습니다. 개봉하여 ImageReference
등급을 확인한 후 virtual_machine_image_id
은 __init__
ImageReference
클래스의 기능을 사용할 수있었습니다. 파이썬 휠을 다운로드하고 pip를 사용하여 설치했습니다. 붐이 작동했습니다.
또는 그렇게 생각했습니다.
나는 그 다음 node_agent_sku_id
가 무엇인지에 관해 계산하려고 노력해야했다. 단지 수동으로 웅덩이를 만들고, Batch Node Agent SKU ID
필드를 보는 것만으로 그것을 발견 할 수 있었다. 서버가 요청을 인증하지 못했습니다
:
는 지금은 는내가 점점 오전 오류는 ... 인증 고민하고있다. 인증 헤더의 값이 서명을 포함하여 올바르게 형성되었는지 확인하십시오.
AuthenticationErrorDetail : Compute 유형의 외부 리소스가 인 경우 지정된 유형의 인증 SharedKey가 허용되지 않습니다.
azure.batch.models.batch_error.BatchErrorException : { 'lang': 'en-US', 'value': '서버가 요청을 인증하지 못했습니다. 이 있는지 확인 인증 헤더의 값이 서명을 포함하여 올바르게 형성된다 \ nRequestId :. f8c1a3b3-65c4-4efd-9c4f-75c5c253f992의 \ n 시간 : 2017-10-15T20 : 36 : 06.7898187Z '}
오류에서, 나는 내가 SharedKeyCredentials
를 사용하도록 허용하고 있지 않다 이해 :
credentials = batchauth.SharedKeyCredentials(_BATCH_ACCOUNT_NAME,
_BATCH_ACCOUNT_KEY)
batch_client = batch.BatchServiceClient(
credentials,
base_url=_BATCH_ACCOUNT_URL)
나는 무엇을해야 하는가?
업데이트 2
확인을 클릭합니다.
from azure.batch import BatchServiceClient
from azure.common.credentials import ServicePrincipalCredentials
credentials = ServicePrincipalCredentials(
client_id=CLIENT_ID,
secret=SECRET,
tenant=TENANT_ID,
resource="https://batch.core.windows.net/"
)
batch_client = BatchServiceClient(
credentials,
base_url=BATCH_ACCOUNT_URL
)
인증에 : 사용자 fpark
내가 사용할 필요가 저를 알렸다. 불행하게도, 위의 코드는 here으로 기술되어 있으며, CLIENT_ID
외에도 참조가 없습니다. 그렇습니다. https://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc3/resourcemanagementauthentication.html
해당 페이지가 다른 웹 페이지로 저를 지적 : https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal
내가 그 튜토리얼을 따라 결국 내 응용 프로그램을 인증하기 위해 관리
나는 그 같은 일 것으로 보인다 문서의 다른 부분을 발견 할 수 ...참고
응용 프로그램을 만드는 튜토리얼은 당신을 말할 것이다 :
응용 프로그램의 이름과 URL을 제공하십시오. 만들려는 애플리케이션 유형에 대해 웹 앱/ API 또는 Native를 선택합니다. 값을 설정 한 후 작성을 선택하십시오.
당신이 응용 프로그램 키를 얻을 수있는 옵션이 없습니다로 Native
을 선택하지 마십시오 ...
완성 된 코드를 게시 할 수 있습니까? – RedPanda
이것은 매우 유용합니다 - 이미지 이름 앞에/구독/필요가 있음을 어떻게 알았습니까? – RedPanda
Azure가 HTTP 로거에서 odata.metadata 아래에 리턴하는 상세한 오류 텍스트를 찾았습니다. 여기서 그들은 virtual_machine_image_id에 적합한 형식을 지정합니다. 이로 인해 VM 이미지 세부 정보를 볼 때 볼 수있는 Azure 포털의 이미지에 대한 "리소스 ID"필드를 복사해야한다는 것을 알게되었습니다. – RedPanda