

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# S3 액세스 포인트 ARN AWS SDK for PHP 버전 3사용
<a name="s3-examples-access-point-arn"></a>

S3는 S3 버킷과 상호 작용하는 새로운 방법인 액세스 포인트를 도입했습니다. 액세스 포인트는 버킷에 직접 적용되는 대신 고유한 정책 및 구성을 적용할 수 있습니다. AWS SDK for PHP를 사용하면 버킷 이름을 명시적으로 지정하는 대신 API 작업에 버킷 필드에서 액세스 포인트 ARN을 사용할 수 있습니다. [여기](https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html)에서 S3 액세스 포인트 및 ARN의 작동 방식에 대한 자세한 내용을 확인할 수 있습니다. 다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.
+ 액세스 포인트 ARN과 함께 [GetObject](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#getobject)를 사용하여 버킷에서 객체를 가져옵니다.
+ 액세스 포인트 ARN과 함께 [PutObject](https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-s3-2006-03-01.html#putobject)를 사용하여 버킷에 객체를 추가합니다.
+ 클라이언트 리전 대신 ARN 리전을 사용하도록 S3 클라이언트를 구성합니다.

AWS SDK for PHP에 대한 모든 예제 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code)에서 사용할 수 있습니다.

## 보안 인증 정보
<a name="examplecredentials"></a>

예제 코드를 실행하기 전에 [AWS SDK for PHP 버전 3을 AWS 사용하여 로 인증](credentials.md)에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 [AWS SDK for PHP 버전 3 설치](getting-started_installation.md)에 설명된 AWS SDK for PHP를 가져옵니다.

 **가져옵니다**.

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

use Aws\S3\S3Client;
```

## 객체 가져오기
<a name="get-object"></a>

먼저 AWS 리전과 버전을 지정하는 AWS.S3 클라이언트 서비스를 생성합니다. 그런 다음 `getObject` 필드에서 키와 S3 액세스 포인트 ARN을 사용하여 `Bucket` 메서드를 호출하면 해당 액세스 포인트와 연결된 버킷에서 객체를 가져옵니다.

 **샘플 코드** 

```
$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'
]);
```

## 버킷에 객체 넣기
<a name="put-an-object-in-a-bucket"></a>

먼저 AWS 리전과 버전을 지정하는 AWS.S3 클라이언트 서비스를 생성합니다. 그런 다음 `putObject` 필드에서 원하는 키, 본문 또는 소스 파일과 S3 액세스 포인트 ARN을 사용하여 `Bucket` 메서드를 호출하면 해당 액세스 포인트와 연결된 버킷에 객체가 배치됩니다.

 **샘플 코드** 

```
$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'
]);
```

## 클라이언트 리전 대신 ARN 리전을 사용하도록 S3 클라이언트를 구성합니다.
<a name="configure-the-s3-client-to-use-the-arn-region-instead-of-the-client-region"></a>

S3 클라이언트 작업에서 S3 액세스 포인트 ARN을 사용하는 경우 기본적으로 클라이언트는 ARN 리전이 클라이언트 리전과 일치하는지 확인하고 그렇지 않은 경우 예외가 발생합니다. 이 동작은 `use_arn_region` 구성 옵션을 `true`로 설정하여 클라이언트 리전에서 ARN 리전을 수락하도록 변경할 수 있습니다. 기본적으로 이 옵션은 `false`로 설정되어 있습니다.

 **샘플 코드** 

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

클라이언트는 환경 변수와 구성 파일 옵션을 다음과 같은 우선 순위에 따라 확인합니다.

1. 위의 예제에서와 같은 클라이언트 옵션 `use_arn_region`.

1. 환경 변수 `AWS_S3_USE_ARN_REGION` 

```
export AWS_S3_USE_ARN_REGION=true
```

1. AWS 공유 구성 파일(기본적으로 `~/.aws/config`)의 구성 변수 `s3_use_arn_region`.

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