

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Visão geral: Execute trabalhos de processamento usando `ScriptProcessor` um SageMaker contêiner geoespacial
<a name="geospatial-custom-operations-overview"></a>

SageMaker geospatial fornece um contêiner de processamento específico,. `081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest` Você pode usar esse contêiner ao executar um trabalho com o Amazon SageMaker Processing. Ao criar uma instância da [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor)classe que está disponível por meio do *Amazon SageMaker Python SDK for Processing*, especifique isso. `image_uri`

**nota**  
Se você receber um ResourceLimitExceedederro ao tentar iniciar um trabalho de processamento, precisará solicitar um aumento de cota. Para iniciar uma solicitação de aumento da cota Service Quotas, consulte [Solicitar um aumento de cota](https://docs.aws.amazon.com/servicequotas/latest/userguide/request-quota-increase.html) no *Guia do usuário do Service Quotas* 

**Pré-requisitos para usar o `ScriptProcessor`**

1. Você criou um script Python que especifica sua workload geoespacial de ML.

1. Você concedeu à função de execução de SageMaker IA acesso a todos os buckets do Amazon S3 necessários.

1. Prepare seus dados para importação no contêiner. Os trabalhos SageMaker de processamento da Amazon oferecem suporte à definição de `s3_data_type` igual `"ManifestFile"` ou igual a`"S3Prefix"`.

O procedimento a seguir mostra como criar uma instância `ScriptProcessor` e enviar um trabalho de SageMaker processamento da Amazon usando o contêiner SageMaker geoespacial.

**Para criar uma `ScriptProcessor` instância e enviar um trabalho de SageMaker processamento da Amazon usando um contêiner SageMaker geoespacial**

1. Instancie uma instância da `ScriptProcessor` classe usando a imagem SageMaker geoespacial:

   ```
   from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput
   	
   sm_session = sagemaker.session.Session()
   execution_role_arn = sagemaker.get_execution_role()
   
   # purpose-built geospatial container
   image_uri = '081189585635.dkr.ecr.us-west-2.amazonaws.com/sagemaker-geospatial-v1-0:latest'
   
   script_processor = ScriptProcessor(
   	command=['python3'],
   	image_uri=image_uri,
   	role=execution_role_arn,
   	instance_count=4,
   	instance_type='ml.m5.4xlarge',
   	sagemaker_session=sm_session
   )
   ```

   *execution\$1role\$1arn*Substitua pelo ARN da função de execução de SageMaker IA que tem acesso aos dados de entrada armazenados no Amazon S3 e em qualquer AWS outro serviço que você queira chamar em seu trabalho de processamento. Você pode atualizar o `instance_count` e o `instance_type` para atender aos requisitos do seu trabalho de processamento.

1. Para iniciar um trabalho de processamento, use o método `.run()`:

   ```
   # Can be replaced with any S3 compliant string for the name of the folder.
   s3_folder = geospatial-data-analysis
   
   # Use .default_bucket() to get the name of the S3 bucket associated with your current SageMaker session
   s3_bucket = sm_session.default_bucket()
   					
   s3_manifest_uri = f's3://{s3_bucket}/{s3_folder}/manifest.json'
   s3_prefix_uri =  f's3://{s3_bucket}/{s3_folder}/image-prefix
   
   script_processor.run(
   	code='preprocessing.py',
   	inputs=[
   		ProcessingInput(
   			source=s3_manifest_uri | s3_prefix_uri ,
   			destination='/opt/ml/processing/input_data/',
   			s3_data_type= "ManifestFile" | "S3Prefix",
   			s3_data_distribution_type= "ShardedByS3Key" | "FullyReplicated"
   		)
   	],
   	outputs=[
           ProcessingOutput(
               source='/opt/ml/processing/output_data/',
               destination=s3_output_prefix_url
           )
       ]
   )
   ```
   + *preprocessing.py*Substitua pelo nome do seu próprio script de processamento de dados em Python.
   + Um trabalho de processamento oferece apoio a dois métodos para formatar seus dados de entrada. Você pode criar um arquivo manifesto que aponte para todos os dados de entrada do seu trabalho de processamento ou usar um prefixo comum em cada entrada de dados individual. Se você criou um conjunto de arquivos de manifesto `s3_manifest_uri` igual a `"ManifestFile"`. Se você usou um prefixo do arquivo definido `s3_manifest_uri` igual a `"S3Prefix"`. Você especifica o caminho para seus dados usando `source`.
   + Você pode distribuir os dados da tarefa de processamento de duas maneiras:
     + Distribua seus dados para todas as instâncias de processamento definindo `s3_data_distribution_type` igual a `FullyReplicated`.
     + Distribua seus dados em fragmentos com base na chave Amazon S3 definindo `s3_data_distribution_type` igual a `ShardedByS3Key`. Quando você usa `ShardedByS3Key`, um fragmento de dados é enviado para cada instância de processamento.

    Você pode usar um script para processar dados SageMaker geoespaciais. Esse script pode ser encontrado na [Etapa 3: Escrevendo um script que possa calcular o NDVI](geospatial-custom-operations-procedure.md#geospatial-custom-operations-script-mode). Para saber mais sobre a operação da `.run()` API, consulte [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ScriptProcessor.run)o *Amazon SageMaker Python SDK* for Processing.

Para monitorar o progresso do seu trabalho de processamento, a classe `ProcessingJobs` oferece apoio a um método [https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe](https://sagemaker.readthedocs.io/en/stable/api/training/processing.html#sagemaker.processing.ProcessingJob.describe). Esse método retorna uma resposta da chamada de API `DescribeProcessingJob`. Para saber mais, consulte [`DescribeProcessingJob`a *Amazon SageMaker AI API Reference*](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeProcessingJob.html).

O próximo tópico mostra como criar uma instância da `ScriptProcessor` classe usando o contêiner SageMaker geoespacial e, em seguida, como usá-lo para calcular o Índice de Vegetação por Diferença Normalizada (NDVI) com imagens. Sentinel-2

