

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á.

# Usar ARNs de ponto de acesso do S3 no AWS SDK para PHP versão 3
<a name="s3-examples-access-point-arn"></a>

O S3 incluiu pontos de acesso, uma nova maneira de interagir com buckets do S3. Os pontos de acesso podem ter políticas e configurações exclusivas aplicadas a eles, em vez de diretamente ao bucket. O AWS SDK para PHP permite que você use ARNs de ponto de acesso no campo do bucket para operações de API em vez de especificar explicitamente o nome do bucket. Mais detalhes sobre como os pontos de acesso do S3 e os ARNs funcionam podem ser encontrados [aqui](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html). Os exemplos a seguir mostram como:
+ Usar [GetObject](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#getobject) com um ARN de ponto de acesso para obter um objeto de um bucket.
+ Usar [PutObject](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject) com um ARN de ponto de acesso para adicionar um objeto a um bucket.
+ Configurar o cliente do S3 para usar a região do ARN em vez da região do cliente.

O código de exemplo completo do AWS SDK para PHP está disponível [aqui no GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code).

## Credenciais
<a name="examplecredentials"></a>

Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em [Autenticando com o AWS uso da AWS SDK para PHP versão 3](credentials.md). Em seguida, importe o AWS SDK para PHP, conforme descrito em [Instalando a AWS SDK para PHP versão 3](getting-started_installation.md).

 **Importações** 

```
require 'vendor/autoload.php';

use Aws\S3\S3Client;
```

## Objeto Get
<a name="get-object"></a>

Primeiro crie um serviço cliente do AWS.S3 que especifique a região e a versão da AWS. Depois, chame o método `getObject` com sua chave e um ARN de ponto de acesso do S3 no campo `Bucket`, que obterá o objeto do bucket associado a esse ponto de acesso.

 **Código de exemplo** 

```
$s3 = new S3Client([
    'version'     => 'latest',
    'region'      => 'us-west-2',
]);
$result = $s3->getObject([
    'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name',
    'Key' => 'MyKey'
]);
```

## Colocar um objeto em um bucket
<a name="put-an-object-in-a-bucket"></a>

Primeiro crie um serviço cliente do AWS.S3 que especifique a região e a versão da AWS. Depois, chame o método `putObject` com a chave desejada, o corpo ou o arquivo de origem e um ARN de ponto de acesso do S3 no campo `Bucket`, que colocará o objeto no bucket associado a esse ponto de acesso.

 **Código de exemplo** 

```
$s3 = new S3Client([
    'version'     => 'latest',
    'region'      => 'us-west-2',
]);
$result = $s3->putObject([
    'Bucket' => 'arn:aws:s3:us-west-2:123456789012:accesspoint:endpoint-name',
    'Key' => 'MyKey',
    'Body' => 'MyBody'
]);
```

## Configurar o cliente do S3 para usar a região do ARN em vez da região do cliente
<a name="configure-the-s3-client-to-use-the-arn-region-instead-of-the-client-region"></a>

Ao usar um ARN de ponto de acesso do S3 em uma operação de cliente do S3, por padrão, o cliente se certificará de que a região do ARN corresponda à região do cliente, lançando uma exceção, caso contrário. Esse comportamento pode ser alterado para aceitar a região do ARN em vez da região do cliente definindo a opção de configuração de `use_arn_region` como `true`. Por padrão, a opção é definida como `false`.

 **Código de exemplo** 

```
$s3 = new S3Client([
    'version'        => 'latest',
    'region'         => 'us-west-2',
    'use_arn_region' => true
]);
```

O cliente também verificará uma variável de ambiente e uma opção de arquivo de configuração, na seguinte ordem de prioridade:

1. A opção do cliente `use_arn_region`, como no exemplo acima.

1. A variável de ambiente `AWS_S3_USE_ARN_REGION` 

```
export AWS_S3_USE_ARN_REGION=true
```

1. A variável de configuração `s3_use_arn_region` no arquivo de configuração compartilhado da AWS (por padrão em `~/.aws/config`).

```
[default]
s3_use_arn_region = true
```